Saya punya tanggal dengan format Sun May 11,2014
. Bagaimana saya bisa mengubahnya menjadi 2014-05-11
menggunakan JavaScript?
function taskDate(dateMilli) {
var d = (new Date(dateMilli) + '').split(' ');
d[2] = d[2] + ',';
return [d[0], d[1], d[2], d[3]].join(' ');
}
var datemilli = Date.parse('Sun May 11,2014');
console.log(taskDate(datemilli));
Kode di atas memberi saya format tanggal yang sama sun may 11,2014
,. Bagaimana saya bisa memperbaikinya?
javascript
date
formatting
date-format
time-format
pengguna3625547
sumber
sumber
Jawaban:
Anda dapat melakukan:
Contoh penggunaan:
Keluaran:
Demo di JSFiddle: http://jsfiddle.net/abdulrauf6182012/2Frm3/
sumber
'use strict';
@ bhspencerHanya memanfaatkan
toISOString
metode bawaan yang membawa tanggal Anda ke format ISO 8601:Di mana YourDate adalah objek kencan Anda.
Sunting: beberapa pria menulis ini untuk menangani zona waktu di komentar:
sumber
new Date(yourDateStr).toISOString().split('T')[0]
const offset = yourDate.getTimezoneOffset(); yourDate = new Date(yourDate.getTime() + (offset*60*1000)); yourDate.toISOString().split('T')[0]
ini seharusnya bisa menyelesaikan masalah zona waktunow.toISOString().substring(0,10);
Ini adalah alternatif yang lebih bersih, karena ini mengingatkan Anda bahwaYYYY-MM-DD
sepuluh karakter pertama dari format iso lengkap+ (offset
ke a- (offset
)Saya menggunakan cara ini untuk mendapatkan tanggal dalam format yyyy-mm-dd :)
sumber
var todayDate = new Date(2018, 3 - 1, 26); todayDate.toISOString().slice(0, 10);
memberi saya"2018-03-25"
. Di sistem lainvar todayDate = new Date(2018, 3 - 1, 26, 17, 0, 0); todayDate.toISOString().slice(0, 10);
memberi saya"2018-03-27"
.Cara paling sederhana untuk mengonversi tanggal Anda ke format tttt-bb-hh, adalah dengan melakukan ini:
Bagaimana itu bekerja:
new Date("Sun May 11,2014")
mengonversi string"Sun May 11,2014"
ke objek tanggal yang mewakili waktuSun May 11 2014 00:00:00
dalam zona waktu berdasarkan lokal saat ini (pengaturan sistem host)new Date(date.getTime() - (date.getTimezoneOffset() * 60000 ))
mengonversi tanggal Anda menjadi objek tanggal yang sesuai dengan waktuSun May 11 2014 00:00:00
dalam UTC (waktu standar) dengan mengurangi offset zona waktu.toISOString()
mengonversi objek tanggal ke string ISO 86012014-05-11T00:00:00.000Z
.split("T")
memisahkan string menjadi array["2014-05-11", "00:00:00.000Z"]
[0]
mengambil elemen pertama dari array ituDemo
sumber
- (date.getTimezoneOffset() * 60000 )
bit harus menghilangkan perbedaan zona waktu, termasuk dampak dari penghematan waktu siang hari.Hasil:
sumber
eval
.return ((v.length > 1 ? "0" : "") + z[v.slice(-1)]).slice(-2);
Kombinasi dari beberapa jawaban:
sumber
toISOString()
potensi jebakan zona waktu dengan menggunakan fungsi itu.Jika Anda tidak keberatan menggunakan pustaka, Anda bisa menggunakan pustaka Moments.js seperti:
sumber
Cukup gunakan ini:
Sederhana dan manis;)
sumber
toISOString()
menganggap tanggal Anda adalah waktu setempat dan mengubahnya menjadi UTC. Anda akan mendapatkan string tanggal yang salah.Metode berikut harus mengembalikan apa yang Anda butuhkan.
Sumber: https://blog.justin.kelly.org.au/simple-javascript-function-to-format-the-date-as-yyyy-mm-dd/
sumber
Ambil tahun, bulan, dan hari, lalu satukan. Lurus, sederhana, dan akurat.
sumber
Anda dapat menggunakan
toLocaleDateString('fr-CA')
padaDate
objekSaya juga menemukan bahwa lokal tersebut memberikan hasil yang benar dari daftar lokal ini. Daftar Semua Lokal dan Kode Pendeknya?
Tampilkan cuplikan kode
sumber
Untuk mempertimbangkan zona waktu juga, liner satu ini harus bagus tanpa pustaka:
sumber
Anda dapat mencoba ini: https://www.npmjs.com/package/timesolver
Gunakan dalam kode Anda:
Anda bisa mendapatkan string tanggal dengan menggunakan metode ini:
sumber
Tidak satu pun dari jawaban ini yang cukup memuaskan saya. Saya menginginkan solusi lintas platform yang memberi saya hari di zona waktu lokal tanpa menggunakan perpustakaan eksternal.
Inilah yang saya pikirkan:
Itu harus mengembalikan hari tanggal, dalam format YYYY-MM-DD, di zona waktu referensi tanggal.
Jadi misalnya,
localDay(new Date("2017-08-24T03:29:22.099Z"))
akan kembali"2017-08-23"
meskipun sudah tanggal 24 di UTC.Anda harus membuat polyfill Date.prototype.toISOString agar bisa berfungsi di Internet Explorer 8, tetapi harus didukung di tempat lain.
sumber
Date.js sangat bagus untuk ini.
sumber
Saya sarankan menggunakan sesuatu seperti formatDate-js daripada mencoba untuk mereplikasi setiap waktu. Cukup gunakan perpustakaan yang mendukung semua tindakan strftime utama.
sumber
atau
Coba ini!
sumber
Inilah salah satu cara untuk melakukannya:
sumber
sumber
sumber
sumber
Beberapa jawaban sebelumnya baik-baik saja, tetapi tidak terlalu fleksibel. Saya menginginkan sesuatu yang benar-benar dapat menangani lebih banyak kasus tepi, jadi saya mengambil jawaban @orangleliu dan memperluasnya. https://jsfiddle.net/8904cmLd/1/
Contoh penggunaan:
sumber
Ini berhasil bagi saya untuk mendapatkan tanggal saat ini dalam format yang diinginkan (YYYYMMDD HH: MM: SS):
sumber
Tidak diperlukan perpustakaan
JavaScript murni.
Contoh di bawah ini mendapatkan dua bulan terakhir dari hari ini:
sumber
Format tanggal yang kompatibel dengan PHP
Berikut adalah fungsi kecil yang dapat mengambil parameter yang sama dengan fungsi PHP
date()
dan mengembalikan string tanggal / waktu dalam JavaScript.Perhatikan bahwa tidak semua opsi format tanggal () dari PHP didukung. Anda dapat memperluas
parts
objek untuk membuat token format yang hilangInti
Berikut adalah intisari dengan versi
formatDate()
fungsi yang diperbarui dan contoh tambahan: https://gist.github.com/stracker-phil/c7b68ea0b1d5bbb97af0a6a3dc66e0d9sumber
Kombinasi lain dari jawaban. Mudah dibaca, tapi agak panjang.
sumber
Jika tanggal harus sama di semua zona waktu, misalnya mewakili beberapa nilai dari basis data, maka pastikan untuk menggunakan versi UTC dari hari, bulan, fungsi mata-penuh pada objek tanggal JavaScript karena ini akan ditampilkan dalam waktu UTC dan menghindari kesalahan satu per satu di zona waktu tertentu.
Lebih baik lagi, gunakan perpustakaan tanggal Moment.js untuk pemformatan semacam ini.
sumber
Saya memodifikasi respons Samit Satpute sebagai berikut:
sumber
Memformat dan menemukan tanggal maksimum dan minimum dari data hashmap:
sumber
Memformat ulang string tanggal cukup mudah, misalnya
sumber