it-swarm-id.com

Mendapatkan cap waktu unix dari Date ()

Saya dapat mengubah cap waktu unix menjadi objek Date() dengan meletakkan nilai long ke dalam konstruktor Date(). Sebagai contoh: Saya bisa memilikinya sebagai new Date(1318762128031).

Tapi setelah itu, bagaimana saya bisa mendapatkan kembali cap waktu unix dari objek Date()?

74
Carven

getTime() mengambil milidetik sejak 1 Januari 1970 diteruskan ke konstruktor. Seharusnya tidak terlalu sulit untuk mendapatkan waktu Unix (sama, tetapi dalam detik) dari itu.

79
jackrabbit

Untuk mendapatkan timestamp dari Date(), Anda harus membagi getTime() oleh 1000, mis .:

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

atau hanya:

long unixTime = System.currentTimeMillis() / 1000L;
36
Pedro Lobito
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;
    }
}
22
bhasker

Dalam Java 8, akan lebih mudah untuk menggunakan lib tanggal baru dan metode getEpochSecond untuk mendapatkan cap waktu (ada di urutan kedua)

Instant.now().getEpochSecond();

5
waterscar

Gunakan kelas SimpleDateFormat. Lihatlah javadoc-nya: ini menjelaskan cara menggunakan sakelar format.

0
AlexR

Saya tidak tahu apakah Anda ingin mencapai itu di js atau Java, di js cara paling sederhana untuk mendapatkan cap waktu unix (ini waktunya dalam detik dari 1/1/1970) sebagai berikut:

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