簡體   English   中英

將日期轉換為長(手動)

[英]Convert date to long (manually)

我想將日期轉換為長值(即毫秒)

我有個約會

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());
  }
}

如果您確定可以手動進行操作(嗯,為什么?-看起來像作業),請打開JodaTime源代碼並復制它。 您不會更好地發明它。 甚至最好打開,閱讀,然后嘗試在編輯器中編寫它。

為什么要手動將日期轉換為長日期或長日期,為什么要編寫一個簡單的Java代碼,以便在約定后給您正確的結果,我使用的是簡單程序,並按照我的用戶進行轉換

public class test {

    public static void main(String[] args) {

            Date dt=new Date(Long.valueOf(1390973400983L));
            System.out.println(dt.toString());

            Calendar cal=Calendar.getInstance();
            cal.set(2014, Calendar.JANUARY, 29, 11, 00, 0);

            System.out.println(cal.getTimeInMillis());
            System.out.println();

    }

}

欲了解更多信息,請點擊這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM