【发布时间】:2016-06-03 01:31:20
【问题描述】:
我想将日期转换为长值(即毫秒)
我有个约会
2/11/2014
我想计算长日期(手动)
我尝试过的
(2014 - 1970 ) * 31449600000 + 11 * 2592000000 + 2 * 604800000
这等于 1413504000000。
但是http://www.fileformat.info/tip/java/date2millis.htm 告诉我1413504000000 是
Date (America/New_York) Thursday, October 16, 2014 8:00:00 PM EDT
Date (GMT) Friday, October 17, 2014 12:00:00 AM GMT
Date (short/short format) 10/16/14 8:00 PM
我哪里错了?
再次,我想手动执行此操作,而不是使用 java 代码。
【问题讨论】:
-
你没有考虑闰年。
-
@Keppil 好点。你有什么想法可以改变我的“公式”吗?
-
虽然我们讨论的是闰年,但您也不能假设每四年都是闰年。 2000 年是闰年,但 2100、2200 和 2300 不是闰年,尽管它们是 %4。
-
闰年,那是你没想到的!也有些月是 30 天有些不是
-
您可以循环查看这些年。所有能被 4 整除的年份都是闰年,但能被 100 整除的年份除外,但包括能被 400 整除的年份。因此,除非您使用的日期晚于 2099 年,否则您范围内的每 4 年都应该是闰年。