Подтвердить что ты не робот

Получение временной отметки unix из Date()

Я могу преобразовать временную метку unix в объект Date(), поместив значение long в конструктор Date(). Например, я мог бы использовать его как new Date(1318762128031).

Но после этого, как мне вернуть временную метку unix из объекта Date()?

4b9b3361

Ответ 1

getTime() извлекает миллисекунды с 1 января 1970 года, переданные конструктору. Не должно быть слишком сложно получить Unix time (то же самое, но в секундах).

Ответ 2

Чтобы получить timestamp от Date(), вам нужно разделить getTime() на 1000

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

или просто:

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

Ответ 3

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

Ответ 4

В java 8 удобно использовать новый метод date lib и getEpochSecond, чтобы получить метку времени (она вторая)

Instant.now().getEpochSecond();

Ответ 5

Используйте класс SimpleDateFormat. Взгляните на его javadoc: он объясняет, как использовать переключатели формата.

Ответ 6

Я не знаю, хотите ли вы достичь этого в js или java, в js самый простой способ получить unix timestampt (это время в секундах от 1/1/1970) следующим образом:

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