2016-12-14 64 views
1

我有TimeStamp,我需要将它转换为Data类型的对象,该对象应该匹配此模式 - “2016-11-16T18:42:33.049Z”。我怎样才能做到这一点?如何将TimeStamp转换为适当的日期格式?

+1

什么是“TimeStamp”?它是一个'java.sql.Timestamp',还是其他的? –

回答

4
Date d = new Date((long)timestamp*1000); 

将创建一个Date实例。以后再显示是另一回事。

我认为这是你想要什么:

DateFormat f = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.mmm'Z'"); 
System.out.println(f.format(date)); 

测试:

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

public class Main { 
    public static void main(String[] args) throws Exception { 

     Date d = new Date((long)1481723817*1000); 
     DateFormat f = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.mmm'Z'"); 
     System.out.println(f.format(d)); 
    } 
} 

>>2016-12-14T14:56:57.056Z 
+0

我需要日期才能完美匹配模式,因为我使用它来查询dynamoDB ...你知道如何实现它吗? – neckobik

+0

您应该在DynamoDB中保留时间戳。日期是日期,不用担心显示格式。 – xenteros

+0

@neckobik尝试上面的代码。我看起来像它的作品。 – xenteros

1

转换这样的。

String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date (epoch*1000)); 

您还可以以您想要的方式使用数据对象。

相关问题