一尘不染

在Java中将Unix时间戳转换为日期

java

如何在Java中将分钟从Unix时间戳转换为日期和时间。例如,时间戳1372339860对应于Thu, 27 Jun 2019 13:31:00 GMT

我想转换13723398602019-06-27 13:31:00 GMT

编辑:其实我希望它是根据美国时间GMT-4,所以它将是2019-06-27 09:31:00


阅读 736

收藏
2020-03-19

共1个答案

一尘不染

你可以使用SimlpeDateFormat来格式化日期,如下所示:

long unixSeconds = 1372339860;
// convert seconds to milliseconds
Date date = new java.util.Date(unixSeconds*1000L); 
// the format of your date
SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss z"); 
// give a timezone reference for formatting (see comment at the bottom)
sdf.setTimeZone(java.util.TimeZone.getTimeZone("GMT-4")); 
String formattedDate = sdf.format(date);
System.out.println(formattedDate);

如果使用的模式SimpleDateFormat非常灵活,则可以根据给定的特定模式,在javadocs中检入可用于产生不同格式的所有变体Date。http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

  • 因为a Date提供了getTime()一种返回自EPOC以来的毫秒数的方法,所以要求你指定SimpleDateFormat一个时区以根据你的时区正确格式化日期,否则它将使用JVM的默认时区(如果配置得当,它将是正确的) )
2020-03-19