java - 将日期转换为长日期(手动)

标签 java date time

我想将日期转换为长值(即毫秒)

我有一个约会,比如

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/

相关文章:

ios - 在 Swift 中显示日历日期

Javascript/Node 和计时

python - 如何获取过去7小时的strftime?

初学者的 Java Mobile 编程,从哪里开始?

java - 好的做法 : Keeping local variable scope VS dependency injection

java - Java 泛型的 C++ 等价物

mysql - 选择上周内的日期,但不仅限于过去 7 天

linux - 如何在linux shell中将4月1日转换为3月31日

Java如何从给定时间字符串中删除第n分钟而不考虑时区

r - ggplot 随着时间的推移每个唯一实例的多线图