为啥 getCalendar().getTime() 返回错误的年份? [复制]

Posted

技术标签:

【中文标题】为啥 getCalendar().getTime() 返回错误的年份? [复制]【英文标题】:Why getCalendar().getTime() returns wrong Year? [duplicate]为什么 getCalendar().getTime() 返回错误的年份? [复制] 【发布时间】:2019-05-13 04:35:44 【问题描述】:

为什么要编码

Date time1 = new SimpleDateFormat("HH:mm", Locale.US).getCalendar().getTime();

返回错误的年份?

12 月 12 日星期一 08:49:57 GMT+03:00 1938

为什么是1938

【问题讨论】:

这不是你提供的链接的副本,他的问题是“为什么”它返回错误的年份,而不是“如何?” 【参考方案1】:

因为SimpleDateFormat("HH:mm", Locale.US).getCalendar() 与导致问题的序列化有关

查看this answer

使用

Date currentTime = Calendar.getInstance().getTime();

【讨论】:

不要用重复问题的答案回答重复的问题,而应将问题标记为重复,而不是复制(部分在您的问题中)另一个答案 有道理!我会记住这一点的。谢谢! @VladyslavMatviienko 但同样,定义“可能的重复”并不能真正解决他的问题。我想知道为什么人们不赞成我的回答,哈哈! “与序列化有关”也不能真正回答这个问题。如果您认为有必要单独回答这个问题,我认为您至少应该给出完整的答案。不鼓励仅提供链接的答案(我希望您以前听说过)。 既然你问了,而且答案对于未来的读者和提问者一样多,我确实看到了对不完整的答案投反对票(甚至标记为删除)的意义(我没有投反对票,并且没有人标记)。

以上是关于为啥 getCalendar().getTime() 返回错误的年份? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

打开一个页面关于页面数据加载问题

这个程序为啥可以延时一秒: while(t[0].ti_sec==s&&t[0].ti_min==m&&t[0].ti_hour==h) gettime(t);

为啥我加了 10 分钟后月份变成了 50?

日历 存储过程

前端请求后台为啥要加时间戳

getTime()和parse()的区别