Saya ingin mendapatkan waktu saat ini dalam format tertentu dengan javascript.
Dengan fungsi di bawah ini dan memanggilnya akan memberi saya Jumat 01 Feb 2013 13:56:40 GMT + 1300 (Waktu Musim Panas Selandia Baru) tetapi saya ingin memformatnya seperti Jumat 14:00 1 Feb 2013
var d = new Date();
var x = document.getElementById("time");
x.innerHTML = d;
Tentu saja, kode di atas tidak memiliki logika pemformatan tetapi saya belum menemukan pemformatan yang "berfungsi".
javascript
date
time
format
Seong Lee
sumber
sumber
Jawaban:
Tanggal JavaScript memiliki beberapa metode yang memungkinkan Anda mengekstrak bagian-bagiannya:
getFullYear()
- Mengembalikan tahun 4-digitgetMonth()
- Mengembalikan bilangan bulat berbasis nol (0-11) yang mewakili bulan dalam setahun.getDate()
- Mengembalikan hari dalam sebulan (1-31).getDay()
- Mengembalikan hari dalam seminggu (0-6). 0 adalah Minggu, 6 adalah Sabtu.getHours()
- Mengembalikan jam dalam sehari (0-23).getMinutes()
- Mengembalikan menit (0-59).getSeconds()
- Mengembalikan detik (0-59).getMilliseconds()
- Mengembalikan milidetik (0-999).getTimezoneOffset()
- Mengembalikan jumlah menit antara waktu lokal mesin dan UTC.Tidak ada metode bawaan yang memungkinkan Anda mendapatkan string yang dilokalkan seperti "Friday", "February", atau "PM". Anda harus mengkodekannya sendiri. Untuk mendapatkan string yang Anda inginkan, Anda setidaknya perlu menyimpan representasi string hari dan bulan:
Kemudian, gabungkan menggunakan metode di atas:
Saya memiliki fungsi format tanggal yang ingin saya sertakan di perpustakaan standar saya. Dibutuhkan parameter string format yang mendefinisikan keluaran yang diinginkan. String format secara longgar didasarkan pada string format Tanggal dan Waktu kustom .Net . Untuk format yang Anda tentukan format string berikut akan bekerja:
"dddd h:mmtt d MMM yyyy"
.Demo: jsfiddle.net/BNkkB/1
Ini adalah fungsi pemformatan tanggal lengkap saya:
sumber
MMMM[0]
mengembalikan nama bulan yang benar dan bukan karakter yang tidak dapat dicetak pada indeks 0? Bukankah seharusnya begituMMMM[M]
? Apakah saya hanya bodoh? (Nevermind. Ini menetapkannya ke karakter yang tidak dapat dicetak, yang akan diganti nanti untuk menghindari konflik)Anda mungkin ingin mencoba
Dokumentasi
sumber
d.toLocaleTimeString()
dand.toLocaleTimeString()
tidak bekerja.toLocaleTimeString()
dantoLocaleTimeString()
Pembaruan 2017 : gunakan toLocaleDateString dan toLocaleTimeString untuk memformat tanggal dan waktu. Parameter pertama yang diteruskan ke metode ini adalah nilai lokal, seperti en-us . Parameter kedua, di mana ada, menentukan opsi pemformatan, seperti formulir panjang untuk hari kerja.
Silakan lihat tautan di bawah ini untuk lebih jelasnya.
Tanggal dan Waktu String (JavaScript)
sumber
toLocalTimeString
menawarkan 4 gaya tanggalfull
long
medium
short
, dan mungkin arti istilah tersebut didefinisikan di suatu tempat. Sementara itu, strftime bisa (mungkin) menyamai salah satu dari itu dan banyak lagi. Di sisi lain,toLocalTimeString
mendukung zona waktu. Saya berharap itu termasuk zona waktu yang menggunakan waktu musim panas ...Anda dapat menggunakan port of strftime saya :
Penggunaan sampel:
Kode terbaru tersedia di sini: https://github.com/thdoan/strftime
sumber
Lihatlah internal kelas Tanggal dan Anda akan melihat bahwa Anda dapat mengekstrak semua bit (tanggal, bulan, tahun, jam, dll).
http://www.w3schools.com/jsref/jsref_obj_date.asp
Untuk sesuatu seperti
Fri 23:00 1 Feb 2013
kodenya seperti:**** Dimodifikasi pada 2019-05-29 agar 3 downvoters senang
sumber
date.getMinutes()
adalah bahwa ia mengembalikan satu digit saat menit kurang dari 10, menghasilkan waktu seperti "10: 4 am" bukan yang lebih umum "10:04".Ada banyak perpustakaan hebat di luar sana, bagi mereka yang tertarik
Hari-hari ini seharusnya tidak ada kebutuhan untuk menciptakan penentu pemformatan Anda sendiri.
sumber
moment
adalah standar saat ini untuk hal-hal terkait waktu di Javascript.moment
.d3
juga telah menambahkan beberapa bahan waktu juga, jadi jika Anda sudah menggunakannya, Anda mungkin dapat menyimpan perpustakaan impor github.com/d3/d3/blob/master/API.md#time-formats-d3-time-format2,39 KB diminimalkan. Satu file. https://github.com/rhroyston/clock-js
Waktu Saat Ini adalah
sumber
sumber
Untuk bekerja dengan kelas Tanggal dasar Anda dapat melihat MDN untuk metodenya (bukan W3Schools karena alasan ini ). Di sana Anda dapat menemukan deskripsi yang bagus tentang setiap metode yang berguna untuk mengakses setiap komponen tanggal / waktu dan informasi terkait apakah suatu metode tidak digunakan lagi atau tidak.
Jika tidak, Anda dapat melihat Moment.js yang merupakan pustaka yang baik untuk digunakan untuk pemrosesan tanggal dan waktu. Anda dapat menggunakannya untuk memanipulasi tanggal dan waktu (seperti parsing, pemformatan, i18n, dll.).
sumber
Penggunaan & hasil:
sumber
Untuk gaya mysql sejati ini gunakan fungsi di bawah ini:
2019/02/28 15:33:12
sumber
ISO8601 (misalnya: HH: MM: SS, 07:55:55, atau 18:50:30) di chrome:
di tepi:
sumber
}) ();
05:12:00
sumber
sumber