我想将日期转换为长值(即毫秒)
我有一个约会,比如
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 代码。
最佳答案
不要重新发明轮子。时间/日期计算是出了名的困难,即使是标准的 java 库也不能正确计算。使用JodaTime :
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
public class JodaTimeSample {
public static void main(String[] args) {
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy");
DateTime date = DateTime.parse("2/11/2014", formatter);
System.out.println("Date: " + date.toString());
System.out.println("Millis: " + date.getMillis());
}
}
关于java - 将日期转换为长日期(手动),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26760106/