2013-10-11 4 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

Просто разделить Java Миллис на 1000

1

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

Это говорит Возвращает количество миллисекунд, прошедших с 1 января 1970, 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

Thnks для ответа. Я пытаюсь это, но его показывает ошибку, например: «Оператор/не определен для типа (ов) аргумента Date, int». – kreya

Смежные вопросы