簡體   English   中英

將Unix時間戳轉換為Java日期

[英]Converting a Unix time stamp to Java date

代碼如下:

DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    String logTime = format.format(new Date((format.parse("2013-6-30").getTime()+25*24*3600*1000)));
    String logTime1 = format.format(new Date((format.parse("2013-6-30").getTime()+24*24*3600*1000)));
    System.out.println("logTime:  "+logTime);
    System.out.println("logTime1:  "+logTime1);

這是輸出:

  logTime:  2013-06-05
  logTime1:  2013-07-24

怎么了

你溢出了。 嘗試

25L * 24*3600*1000

因此值很長。 您的IDE應該突出顯示您所擁有的將溢出。

在此處輸入圖片說明

這會打印出明顯不正確的數字。

-2134967296

DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
long time = format.parse("2013-6-30").getTime();
String logTime = format.format(new Date(time + 25L * 24 * 3600 * 1000));
String logTime1 = format.format(new Date(time + 24L * 24 * 3600 * 1000));
System.out.println("time + 25d:  " + logTime);
System.out.println("time + 24d:  " + logTime1);

版畫

time + 25d:  2013-07-25
time + 24d:  2013-07-24

暫無
暫無

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

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