首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Java将时间戳转换为日历

用Java将时间戳转换为日历
EN

Stack Overflow用户
提问于 2017-03-07 22:57:12
回答 2查看 8.8K关注 0票数 1

我想从long时间戳值中得到年份、月份、日期和小时。我发现了许多从时间戳值创建Calendar的例子,但我没有得到我想要的。

我写了以下文章

代码语言:javascript
复制
long timestamp = 1488866400;

Calendar cal = GregorianCalendar.getInstance();
cal.setTimeInMillis( timestamp );

System.out.println( cal.get( Calendar.YEAR ) );
System.out.println( cal.get( Calendar.MONTH ) );
System.out.println( cal.get( Calendar.DATE ) );

1488866400是Tue,2017年3月7日,06:00格林尼治时间,所以我希望上面的代码给我2017,月份2和日期7,但它给我的年份1970,月份0和日期17

有人能告诉我,我是否做错了什么,或者它是否可以用不同的方式制造?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-07 23:00:57

把你的时间戳乘以1000。long timestamp = 1488866400 * 1000;

您的时间戳以秒为单位,日历使用毫秒。

票数 5
EN

Stack Overflow用户

发布于 2017-03-07 23:09:05

试试这个:

代码语言:javascript
复制
long timestamp = 1488866400;
LocalDate date = Instant.ofEpochMilli(timestamp).atZone(ZoneId.systemDefault()).toLocalDate();
System.out.println(date.getYear() );
System.out.println( date.getMonth() );
System.out.println( date.getDayOfMonth() );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42659929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档