Java 将Unix纪元后的时间戳转换为秒

Java 将Unix纪元后的时间戳转换为秒,java,timestamp,Java,Timestamp,如何将Unix时代以来的时间戳转换为秒? 我只是将时间戳转换为UTC时间戳。现在我想把这个时间戳转换成秒 Calendar currenttime = Calendar.getInstance(); System.out.println("current: "+currenttime.getTime()); //TIMESTAMP UTC/GMT TimeZone z = currenttime.getTimeZone(); int offset = z.getRawO

如何将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);

只需将Java毫秒除以1000即可参见

它表示返回此日期对象表示的自1970年1月1日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");

你能再详细解释一下吗?谢谢你的回复。我尝试了这个方法,但它显示的错误类似于“运算符/未定义参数类型Date,int”。很抱歉,agn曾经出现过一次,但它仍然不能正常工作,现在它说“getTime()方法未定义类型GetCurrentTimeStamp”,在这种情况下,您的代码与上面的代码不匹配,因为上面使用的是日历对象作为currenttime。看见