Saya memiliki cap waktu unix, dan saya mencoba mengubahnya menjadi tanggal kalender seperti MM/DD/YYYY
. Sejauh ini, saya punya ini:
$(document).ready(function() {
var value = $("#unixtime").val(); //this retrieves the unix timestamp
var dateString = moment(value).calendar();
alert(dateString);
});
Ketika saya mencoba untuk mencetak tanggal kalender, jendela mengatakan "Tanggal tidak valid". Adakah yang bisa membantu saya?
javascript
datetime
momentjs
Andrew
sumber
sumber
calendar
Fungsi bagus ( dokumentasi di sini ), tapi tidak dalam format yang OP minta.monent(number)
mengharapkan cap waktu unix dalam mili detik (yang konsisten denganDate
objek), sedangkan cap waktu unix dalam detik secara default. Sehingga Anda juga bisa melakukanmoment(value*1000)
alih-alihmoment.unix(value)
, tetapi menggunakanunix
lebih jelas.Cap waktu UNIX hitungan detik dari tahun 1970, jadi Anda perlu mengubahnya menjadi objek Date JS:
sumber
Moment.js menyediakan format Lokal yang dapat digunakan.
Berikut ini sebuah contoh:
sumber
sumber
Hanya itu,
sumber
Mungkin sedikit terlambat tetapi untuk masalah baru seperti ini saya menggunakan kode ini:
Anda dapat mengubah format agar sesuai dengan kebutuhan Anda dan juga menambahkan zona waktu seperti ini:
sumber
x
untuk cap waktu ms unix. Dokumentasi di siniSaya memperbaikinya seperti contoh ini.
sumber
Ada mode ketat dan mode Forgiving .
Sementara mode ketat berfungsi lebih baik di sebagian besar situasi, mode memaafkan bisa sangat berguna ketika format string yang diteruskan ke momen dapat bervariasi.
Dalam rilis selanjutnya, parser akan menggunakan mode ketat secara default. Mode ketat memerlukan input ke momen untuk mencocokkan dengan format yang ditentukan, termasuk pemisah. Mode ketat diatur dengan melewatkan true sebagai parameter ketiga ke fungsi momen.
Skenario umum di mana mode memaafkan berguna adalah dalam situasi di mana API pihak ketiga memberikan tanggal, dan format tanggal untuk API itu bisa berubah. Misalkan API dimulai dengan mengirim tanggal dalam format 'YYYY-MM-DD', dan kemudian berubah menjadi format 'MM / DD / YYYY'.
Dalam mode ketat, kode berikut ini menghasilkan 'Tanggal Tidak Valas' ditampilkan:
Dalam mode pemaafan menggunakan string format, Anda mendapatkan tanggal yang salah:
cara lain adalah
sumber
Fungsi ini menciptakan tanggal dari cap waktu:
sumber
sumber
sumber