2013-10-11 466 views
2

如何将时间戳记转换为自Unix纪元以来的秒数? 我只是将时间戳转换为UTC时间戳。现在我想将这个时间戳转换成秒。自Unix时代以来,将时间戳记转换为秒数

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); 

回答

0

仅仅通过1000

1

看到http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Date.html#getTime()

它说,分裂的Java米利斯返回自1970年1月1日的毫秒数,此Date对象表示00:00:00 GMT。

按照你的代码

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"); 
+0

能否请您展开/详细解释它? – kreya

+0

我已经为你更新了我的答案。 –

+0

回复。 我尝试这个,但它显示错误,如“运算符/未定义为参数类型Date(s),int”。 – kreya

相关问题