2

如何将时间戳转换为自 Unix 纪元以来的秒数?我只是将时间戳转换为UTC时间戳。现在我想将此时间戳转换为秒。

Calendar currenttime = Calendar.getInstance();
System.out.println("current: "+currenttime.getTime());

    //TIMESTAMP UTC/GMT
    TimeZone z = currenttime.getTimeZone();
    int offset = z.getRawOffset();
    if(z.inDaylightTime(new Date())){
        offset = offset + z.getDSTSavings();
    }
    int offsetHrs = offset / 1000 / 60 / 60;
    int offsetMins = offset / 1000 / 60 % 60;
    currenttime.add(Calendar.HOUR_OF_DAY, (-offsetHrs));
    currenttime.add(Calendar.MINUTE, (-offsetMins));
    System.out.println("GMT CURRENT TIME: "+currenttime);
4

2 回答 2

1

请参阅http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Date.html#getTime()

它说返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

根据你的代码

currenttime.getTime().getTime() / 1000

Calendar currenttime = Calendar.getInstance();
System.out.println("current: "+currenttime.getTime());

//TIMESTAMP UTC/GMT
TimeZone z = currenttime.getTimeZone();
int offset = z.getRawOffset();
if(z.inDaylightTime(new Date())){
    offset = offset + z.getDSTSavings();
}
int offsetHrs = offset / 1000 / 60 / 60;
int offsetMins = offset / 1000 / 60 % 60;
currenttime.add(Calendar.HOUR_OF_DAY, (-offsetHrs));
currenttime.add(Calendar.MINUTE, (-offsetMins));
System.out.println("GMT CURRENT TIME: "+currenttime);

加上

System.out.println("This is : " + currenttime.getTime().getTime() / 1000 + " seconds");
于 2013-10-11T05:50:13.757 回答
0

只需将 Java 毫秒除以 1000

于 2013-10-11T05:50:02.880 回答