Bagaimana cara memulai (00:00:00) dan mengakhiri (23:59:59) hari ini di timestamp (GMT)? Komputer menggunakan waktu setempat.
javascript
Bdfy
sumber
sumber
var end = new Date(start.getTime());
untuk memastikan bahwa Anda memiliki titik waktu yang sama - jika Anda mengubah tanggal antara awal dan akhir inisialisasi - itu bisa terjadi - hanya kebiasaan yang baik untuk masuksetUTCHours
daripadasetHours
untuk mendapatkan waktu UniversalsetHours
berbahaya karena mengatur jam lokal, bukan jam UTC.Menggunakan perpustakaan momentjs , ini dapat dicapai dengan
startOf()
danendOf()
metode pada objek tanggal saat ini saat ini, melewati string'day'
sebagai argumen:GMT Lokal:
Untuk UTC:
sumber
.toDate()
pada akhirnya untuk mendapatkan tanggalnya.var end = moment().endOf('day').toDate();
.unix()
di akhir untuk mendapatkan cap waktu unix dalam hitungan detik :) seperti ini:moment().startOf('day').unix()
moment(new Date()).endOf("day");
tidak bekerja, tetapimoment().endOf("day");
bekerja.moment-timezone
dan melakukan hal ini:moment().tz('America/Chicago').startOf('day').toDate()
.Menggunakan perpustakaan luxon.js , hal yang sama dapat dicapai dengan menggunakan metode startOf dan endOf dengan melewatkan 'hari' sebagai parameter
dan Anda mungkin bertanya mengapa tidak moment.js , jawabannya ada di sini untuk itu.
sumber
Dalam MomentJs Kita dapat mendeklarasikannya seperti:
sumber
Jika Anda hanya tertarik pada cap waktu dalam GMT, Anda juga dapat melakukan ini, yang dapat disesuaikan dengan mudah untuk interval yang berbeda (jam:,
1000 * 60 * 60
12 jam1000 * 60 * 60 * 12
:, dll.)sumber
FYI (versi gabungan Tvanfosson)
// Cara Penggunaan
* ini berlaku untuk tipe waktu Instan di Java8 yang mengubah waktu lokal Anda secara otomatis tergantung pada wilayah Anda. (jika Anda berencana menulis aplikasi global)
sumber
Saya lebih suka menggunakan perpustakaan tanggal-fns untuk memanipulasi tanggal. Ini adalah alat modular yang sangat bagus dan konsisten. Anda bisa memulai dan mengakhiri hari dengan cara ini:
sumber