Java 日期格式问题

标签 java

我有从 1969 年 12 月 31 日 19:00:00 开始的秒数,即 (EST),我想将其转换为日期格式。

我有以下代码返回任何无效日期。谁能指出这里的问题所在。

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;


public class sample 
{

    public static void main(String args[])
    {
        DateFormat df = new SimpleDateFormat("dd/MMM/yyyy HH:mm:ss");
        df.setTimeZone(TimeZone.getTimeZone("EST"));
        Date d1 = new Date(1000*1373604190); //Converting to millisecond
         String formattedDate = df.format(d1); 
         System.out.println(formattedDate); //I'm getting 22/Dec/1969 16:50:55
    }
}

我该如何解决。

最佳答案

您在数字中使用 int 文字而不是 long。默认情况下,整型文字是 int,除非您指定它是 long,最后是 L。试试这个:

Date d1 = new Date(1000*1373604190L);

(注意文字 1373604190 末尾的 L)

关于Java 日期格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18071621/

相关文章:

java - 引用 java 父类(super class)的属性时使用 groovy 'super' 关键字

java - Java 中的 system.exit() 去哪里了?

java - 将 URL 保存为 PDF

java - 如何在java中实现对象级私有(private)访问

java - Docker 中的 Spring Boot 应用程序收到 : Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch

java - Jboss Java Date 夏令时

java - 如何在android中清除Canvas?

java - Android 的 Calendar.Day_Of_Month 是基于零的吗?

java - 滚动 Pane 不起作用

java - setText() 上的 NullPointer 异常,而所有内容都已正确加载和注释