【问题标题】:Get a day from week based on Unix timestamp根据 Unix 时间戳获取一周中的一天
【发布时间】:2014-11-26 19:20:23
【问题描述】:

Unix timestamp1417029117,即 2014 年 11 月 26 日,星期三。

long timestamp = 1417029117l*1000l;
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(timestamp);
System.out.println("current day is "+cal.get(Calendar.DAY_OF_WEEK));
System.out.println("current month is "+cal.get(Calendar.MONTH));

我得到的结果如下:

current day is 4
current month is 10

有什么解释吗?如果一月是0,那么这个月就可以了。但是为什么今天是4

【问题讨论】:

标签: java unix timestamp


【解决方案1】:

一周的第一天是星期日。所以,星期三是 4 点。请参阅 Calendar#DAY_OF_WEEKConstant Field Values, Calendar#WEDNESDAY,文档中很清楚。

【讨论】:

  • 我还是很好奇,为什么cal.get(Calendar.WEDNESDAY)会返回5
  • 哎哟!你为什么将Calendar.WEDNESDAY 传递给cal.get()?那应该是什么意思? “告诉我给定时间戳的星期三?”它不是为此而生的。 Calendar.WEDNESDAY 是 4。Calendar.WEEK_OF_MONTH 也是 4。cal.get(Calender.WEDNESDAY)cal.get(Calendar.WEEK_OF_MONTH) 一样,都是一个月的第 5 周。
猜你喜欢
  • 1970-01-01
  • 2015-11-18
  • 1970-01-01
  • 2021-12-23
  • 2015-09-03
  • 1970-01-01
  • 1970-01-01
  • 2022-12-06
  • 2021-12-18
相关资源
最近更新 更多