为了解析“2011-12-07 15:33:17.372 CST”这个字符串
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Calendar;
public class Test{
public static void main(String[] args) throws ParseException{
System.out.println(Calendar.getInstance().getTimeZone());
System.out.println(Locale.getDefault());
System.out.println("Today is :" + new Date());
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S z");
System.out.println("2011-12-07 15:33:17.372 CST被解析成了" + dateFormat.parse("2011-12-07 15:33:17.372 CST"));
System.out.println("2011-12-07 15:33:17.372 HKT被解析成了" + dateFormat.parse("2011-12-07 15:33:17.372 HKT"));
}
}
本地服务器A是香港时区(HKT),另一台服务器B是上海时区(CST),从B发给A的时间字符串为“2011-12-07 15:33:17.372 CST”,结果在A中被解析成了“Thu Dec 08 05:33:17 HKT 2011”
原因是因为SimpleDateFormat在解析这个字符串时,将CST当做了美国中部时区,属于西6区,而香港和北京时区都是东8区,两者相差14个小时,于是就有了上面那个问题
这可以通过将B服务器的时区修改为香港时区(HKT)来解决,在linux下面的命令是tzselect
分享到:
相关推荐
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); date.setTime(time); System.out.println(sdf.format(date)); 发现时间于想要的时间不符,请运行Time.reg文件
java代码-SimpleDateFormat YYYY解析问题
由浅入深解析 SimpleDateFormat 由浅入深解析 SimpleDateFormat
目录SimpleDateFormat诡异bug复现SimpleDateFormat诡异bug字符串日期转Date日期(parse)Date日期转String类型(format)SimpleDateFormat出现...事项使用ThreadLocal解决SimpleDateFormat线程安全问题总结...
高并发之-SimpleDateFormat类的线程安全问题和解决方案.docx
有关SimpleDateFormat的常用方法说明
JavaScript实现的java.text.SimpleDateFormat。希望多多交流。
日期操作。。。基础的SimpleDateFormat格式化日期!!操作!》初级学习代码
SimpleDateFormat使用详解。非常实用!!!!
java 使用SimpleDateFormat类获取系统的当前时间 java 使用SimpleDateFormat类获取系统的当前时间
java代码-SimpleDateFormat YYYY显示问题
主要介绍了Java时区处理之Date,Calendar,TimeZone,SimpleDateFormat的区别于用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
关于SimpleDateFormat的非线程安全问题及其解决方案.docx
主要介绍了SimpleDateFormat的线程安全问题与解决方案,非常不错,具有参考借鉴价值,需要的朋友可以参考下
深入理解Java:SimpleDateFormat安全的时间格式化
1.创建SimpleDateFormat对象,确定日期被格式化的格式 2.使用循环,在循环中调用Thread的sleep方法,让线程休眠1s后打印当前时间的字符串
NULL 博文链接:https://qinchaoyong.iteye.com/blog/543109
主要介绍了JAVA使用SimpleDateFormat类表示时间代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下