Saya ingin mengonversi tanggal ke stempel waktu, input saya adalah 26-02-2012
. Saya menggunakan
new Date(myDate).getTime();
Dikatakan NaN .. Bisakah ada yang tahu bagaimana mengonversi ini?
javascript
date
time
selladurai
sumber
sumber
Date(myDate).getTime()
(apa yang Anda tandai sebagai kode), atau apakah kata "baru" sebelum itu dimaksudkan untuk menjadi bagian dari kode? Semakin banyak upaya yang Anda lakukan, semakin baik jawaban yang Anda dapatkan.Jawaban:
Memperbarui:
DEMO (Diuji di Chrome, FF, Opera, IE, dan Safari).
sumber
NaN
. Di Safari Anda harus menggunakan konstruktor lain yang memungkinkannew Date(year, month, day);
, mengenai contoh ini:new Date(myDate[2], myDate[1], myDate[0]);
YYYY-MM-DD
), yang dijamin akan dipahami olehDate()
, dan, secara umum, merupakan format yang paling dapat dioperasikan untuk string tanggal.new Date(newDate).getTime()
akan menghasilkan cap waktu dalam resolusi milidetik.Math.floor(new Date(newDate).getTime() / 1000)
Coba fungsi ini, ia menggunakan metode Date.parse () dan tidak memerlukan logika khusus:
sumber
sumber
kode refactored ini akan melakukannya
ini bekerja pada semua browser modern kecuali ie8-
sumber
ada dua masalah disini. Pertama, Anda hanya dapat memanggil getTime dengan instance tanggal. Anda perlu membungkus Tanggal baru dalam tanda kurung atau menetapkannya ke variabel.
Kedua, Anda harus memberikannya string dalam format yang tepat.
Contoh kerja:
sumber
Anda hanya perlu membalikkan digit tanggal dan mengubahnya
-
dengan,
:Dalam kasus Anda:
PS UK lokal tidak masalah di sini.
sumber
Number
string dimulai dengan0
bermasalah pada beberapa mesin - gunakanparseInt
dan tentukan radix.sumber
Untuk mengonversi tanggal (ISO) menjadi cap waktu Unix , saya berakhir dengan cap waktu 3 karakter lebih lama dari yang dibutuhkan sehingga tahun saya sekitar 50k ...
Saya harus membaginya dengan 1000:
new Date('2012-02-26').getTime() / 1000
sumber
Bagi mereka yang ingin memiliki stempel waktu yang dapat dibaca dalam format,
yyyymmddHHMMSS
Contoh penggunaan: ekstensi file cadangan.
/my/path/my.file.js.20190220
sumber
Jika Anda datang ke sini mencari cap waktu saat ini
TLDR:
sumber
String Anda tidak dalam format yang
Date
obyek ditentukan untuk menangani . Anda harus menguraikan sendiri, menggunakan parsing pustaka tanggal seperti MomentJS atau yang lebih lama (dan saat ini tidak dikelola, sejauh yang saya tahu) DateJS , atau memijatnya ke format yang benar (misalnya,2012-02-29
) sebelum memintaDate
untuk menguraikannya .Mengapa Anda mendapatkan
NaN
: Ketika Anda memintanew Date(...)
untuk menangani string yang tidak valid, ia mengembalikanDate
objek yang diatur ke tanggal yang tidak valid (new Date("29-02-2012").toString()
kembali"Invalid date"
). MemanggilgetTime()
objek tanggal di negara ini kembaliNaN
.sumber
Date
objek (yang tidak ada hubungannya dengan DOM).sumber
Jawaban telah diberikan oleh pengembang lain tetapi dengan cara saya sendiri, Anda dapat melakukan ini dengan cepat tanpa membuat fungsi yang ditentukan pengguna sebagai berikut:
sumber