java日历返回错误的hour_of_day

Posted

技术标签:

【中文标题】java日历返回错误的hour_of_day【英文标题】:java calendar returns wrong hour_of_day 【发布时间】:2016-10-16 03:25:09 【问题描述】:

我有以下代码:

Calendar cal= Calendar.getInstance();
cal.set(Calendar.YEAR, 1994);   
cal.set(Calendar.MONTH, 03);
cal.set(Calendar.DAY_OF_MONTH,1);
cal.set(Calendar.HOUR_OF_DAY, 0); 

运行后我期望:

cal.get(Calendar.HOUR_OF_DAY);

返回0,但返回1

如果我使用不同的年份/月份,它可以正常工作。 此外,再设置一个小时也可以,它只发生在 0 小时。

1994 年 4 月有什么特别之处吗?我在这里错过了什么?

提前致谢。

【问题讨论】:

按预期给我 0:ideone.com/85WUH0 奇怪...也许是时区问题?感谢您的检查 【参考方案1】:

我使用的是以色列 TZ,由于 DST 过渡,94 年 4 月 1 日的 0 小时不存在。

【讨论】:

以上是关于java日历返回错误的hour_of_day的主要内容,如果未能解决你的问题,请参考以下文章

日历返回错误的月份[重复]

Google 日历 API 在公共日历中插入事件时返回错误 401“需要登录”

onActivityResult从日历返回时显示错误

日历返回错误的月份

Calendar日历简单用法

日历意图 - 单击保存或返回时返回日历应用程序