我可以通过将Date()
值放入long
构造函数,将unix时间戳转换为Date()
对象。例如:我可以将其作为new Date(1318762128031)
。
但之后,如何从Date()
对象中取回unix时间戳?
答案 0 :(得分:77)
答案 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