从Date()获取unix时间戳

时间:2011-10-16 12:59:52

标签: java date

我可以通过将Date()值放入long构造函数,将unix时间戳转换为Date()对象。例如:我可以将其作为new Date(1318762128031)

但之后,如何从Date()对象中取回unix时间戳?

6 个答案:

答案 0 :(得分:77)

getTime()检索自1970年1月1日以来传递给构造函数的毫秒数。从那里获得Unix time(相同,但以秒为单位)应该不会太难。

答案 1 :(得分:34)

要从Date()获取unix时间戳,我们需要将getTime()除以1000

Date currentDate = new Date();
currentDate.getTime() / 1000;
// 1397132691

或简单地说:

long unixTime = System.currentTimeMillis() / 1000L;

答案 2 :(得分:21)

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.TimeZone;

public class Timeconversion {
    private DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmm", Locale.ENGLISH); //Specify your locale

    public long timeConversion(String time) {
        long unixTime = 0;
        dateFormat.setTimeZone(TimeZone.getTimeZone("GMT+5:30")); //Specify your timezone
        try {
            unixTime = dateFormat.parse(time).getTime();
            unixTime = unixTime / 1000;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return unixTime;
    }
}

答案 3 :(得分:5)

在java 8中,使用新的日期lib和$this->auth->user();方法来获取时间戳(它是第二个)是方便的

getEpochSecond

答案 4 :(得分:0)

使用SimpleDateFormat课程。看看它的javadoc:它解释了如何使用格式开关。

答案 5 :(得分:0)

我不知道你是想在js或java中实现这个目标,在js中获取unix时间戳的最简单方法(这是从1970年1月1日起的几秒钟内的时间)它如下:

var myDate = new Date();
console.log(+myDate); // +myDateObject give you the unix from that date