这是我的代码:
String dateString ="Wed, 18 Dec 2013 17:40:55 EST";
DateFormat formatter = new SimpleDateFormat("E,dd MMM yyyy HH:mm:ss Z");
Date date=null;
Timestamp timeStamp=null;
try {
date = (Date) formatter.parse(dateString);
System.out.println("Date..."+date);
timeStamp=new Timestamp(date.getTime());
} catch (ParseException ex) {
//Handle Exception
}
System.out.println("timestamp..."+timeStamp);
这是我的输出。时间不同。时间戳比原始日期小3小时。任何帮助都会非常感激。如果它与我使用的时区有关,请知道正确的时区格式.Thanks。
Wed, 18 Dec 2013 17:40:55 EST
Date...Wed Dec 18 14:40:55 PST 2013
timestamp...2013-12-18 14:40:55.0
答案 0 :(得分:0)
查看时区...... EST - > PST相差3小时。时区是时间点的属性。指定如何根据人类可读日期来阅读它。自纪元以来的价值虽然相同。所以书面形式是在EST。我打赌你的系统时间是PST。我打赌如果时区与toString()的实现没有打印出时区,如果它与系统时区相同。
答案 1 :(得分:0)
测试了代码,它对我有用。
日期......周三12月18日17:40:55 2013年
时间戳... 2013-12-18 17:40:55.0
java版“1.7.0_25” Java(TM)SE运行时环境(版本1.7.0_25-b17) Java HotSpot(TM)64位服务器VM(内置23.25-b01,混合模式)