var date = "2012-01-18T16:03";
var date = new Date(date);
console.log(date.getMinutes());
console.log(date.getMinutes().length)
Ini mengembalikan 3.
- Bagaimana cara mengembalikannya '03'?
- Mengapa
.length
pengembalian tidak dibatasi?
Saya mencoba ini, tetapi tidak berhasil:
Jika strlen == 1
demikiannum = ('0' + num);
javascript
Mark Fondy
sumber
sumber
.getMinutes()
adalah integer, Anda tidak dapat mengakses.length
dari integer. Untuk mencapai itu (tidak disarankan saat berurusan dengan tanggal) adalah menguraikan nomor ke string dan kemudian memeriksa panjangnya. Misalnya:date.getMinutes().toString().length
Jawaban:
sumber
<10?'0':''
?Astaga jawaban ini tidak bagus, bahkan pos teratas pun terpilih. Ini dia, lintas-browser dan konversi int / string yang lebih bersih. Plus saran saya adalah jangan menggunakan nama variabel 'date' dengan kode seperti di
date = Date(...)
mana Anda sangat bergantung pada sensitivitas huruf bahasa (itu berfungsi, tetapi berisiko ketika Anda bekerja dengan kode server / browser dalam bahasa yang berbeda dengan aturan yang berbeda) . Jadi dengan asumsi Tanggal javascript dalam suatu varcurrent_date
:Teknik ini mengambil 2 karakter paling kanan
(slice(-2))
dari "0" yang ditambahkan ke nilai stringgetMinutes()
. Begitu:dan
sumber
Cara singkat lainnya adalah mengisi menit dengan nol di depan menggunakan:
Artinya: Buat string dua char panjang, jika char hilang maka atur
0
pada posisi ini.Lihat dokumen di str.padStart (targetLength, padString)
sumber
Fungsi ES6 yang elegan untuk memformat tanggal menjadi
hh:mm:ss
:sumber
Saya ingin memberikan solusi yang lebih rapi untuk masalah ini jika saya bisa. Jawaban yang diterima sangat bagus. Tetapi saya akan melakukannya seperti ini.
Sekarang jika Anda ingin menggunakan ini.
sumber
Saya menyarankan:
itu adalah satu panggilan fungsi yang lebih sedikit. Itu selalu baik untuk berpikir tentang kinerja. Itu pendek juga;
sumber
Anda harus memeriksa apakah kurang dari 10 ... tidak mencari panjangnya, karena ini adalah angka dan bukan string
sumber
Pilihan lain:
sumber
substr
. w3schools.com/jsref/jsref_substr.aspMenggunakan ECMAScript Internationalisasi API, info lebih lanjut :
sumber
.length
tidak terdefinisi karenagetMinutes
mengembalikan nomor, bukan string. angka tidak memilikilength
properti. Anda bisa melakukannyavar m = "" + date.getMinutes();
untuk membuatnya menjadi string, lalu periksa panjangnya (Anda ingin memeriksa
length === 1
, bukan 0).sumber
Angka tidak memiliki panjang, tetapi Anda dapat dengan mudah mengkonversi angka menjadi string, memeriksa panjangnya dan kemudian menambahkan 0 jika perlu:
sumber
Saya tidak melihat jawaban ES6 di sini jadi saya akan menambahkannya menggunakan format StandardJS
sumber
Saya menganggap Anda akan membutuhkan nilai sebagai string. Anda bisa menggunakan kode di bawah ini. Itu akan selalu kembali memberi Anda dua digit menit sebagai string.
Semoga ini membantu.
sumber
Saya biasanya menggunakan kode ini:
Ini sangat mirip dengan jawaban yang diterima @ogur tetapi tidak merangkai string kosong dalam hal 0 tidak diperlukan. Tidak yakin itu lebih baik. Hanya cara lain untuk melakukannya!
sumber
Anda dapat menggunakan js saat:
contoh:
moment('2019-10-29T21:08').format('mm') ==> 08
semoga membantu seseorang
sumber
baru ke JS jadi ini sangat membantu ppl melihat prob ini baru juga jadi ini adalah bagaimana saya mendapatkannya untuk ditampilkan di div yang disebut "class =" min "
semoga membantu seseorang
sumber
bagaimana dengan ini? ini bekerja untuk saya! :)
sumber
Pilihan lain untuk mendapatkan dua digit menit atau jam.
sumber
Selama dua digit menit gunakan:
new Date().toLocaleFormat("%M")
sumber
Jika Anda menggunakan AngularJS dalam proyek Anda, cukup masukkan $ filter dan gunakan seperti di sini:
Anda juga dapat memformat output dalam template, lebih lanjut tentang filter di sini .
sumber