java日期格式 时区_的Java util的一些时区的日期格式毫秒不是正确

据我了解,java.util.Date存储日期从1970年1月1日,00:00毫秒...的Java util的一些时区的日期格式毫秒不是正确

所以,我已经试过低于这个代码:

public void testDateFormatBehavior()

{

DateFormat dfNoDay = new SimpleDateFormat(

"MMM d H:m:s zzz yyyy"

);

// This one should be correct as IST = GMT+5.30

String expStrDateBegIST1 = "Jan 01 05:30:01 IST 1970";

// Instead, this one seems to do the conversion to

// Jan 01 00:00:00 GMT 1970

String expStrDateBegIST2 = "Jan 01 02:00:01 IST 1970";

String expStrDateBegUTC = "Jan 01 00:00:01 GMT 1970";

String expStrDateBegCET = "Jan 01 01:00:00 CET 1970";

// Should convert to Jan 01 06:00:00 GMT 1970 as CST = GMT-6

String expStrDateBegCST = "Jan 01 00:00:00 CST 1970";

// This is EST, which is GMT+6...

String expStrDateBegEST = "Jan 01 10:00:00 EST 1970";

try {

Date dBegIST1 = dfNoDay.parse(expStrDateBegIST1);

Date dBegIST2 = dfNoDay.parse(expStrDateBegIST2);

Date dBegUTC = dfNoDay.parse(expStrDateBegUTC);

Date dBegCET = dfNoDay.parse(expStrDateBegCET);

Date dBegCST = dfNoDay.parse(expStrDateBegCST);

Date dBegEST = dfNoDay.parse(expStrDateBegEST);

System.out.println("IST1 milliseconds: " + dBegIST1.getTime());

System.out.println("IST2 milliseconds: " + dBegIST2.getTime());

System.out.println("UTC milliseconds: " + dBegUTC.getTime());

System.out.println("CET milliseconds: " + dBegCET.getTime());

System.out.println("CST milliseconds: " + dBegCST.getTime());

System.out.println("EST milliseconds: " + dBegEST.getTime());

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

输出:

IST1 milliseconds: 12601000

IST2 milliseconds: 1000

UTC milliseconds: 1000

CET milliseconds: 0

CST milliseconds: 21600000

EST milliseconds: 0

UTC毫秒线是正确的,因为我们指定00:00:01秒从一月开始1 1970 CET是正确的。 CST是正确的,因为毫秒数是1970年1月1日后的6小时。

但是,IST转换很奇怪。

IST似乎是GMT + 5:30。在我的Java代码中,它认为它是GMT + 2:00。

有什么我做错了吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值