Bagaimana cara mendapatkan tanggal saat ini di JavaScript?
Gunakan new Date()
untuk menghasilkan yang baru Tanggal
objek yang berisi tanggal dan waktu saat ini.
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();
today = mm + '/' + dd + '/' + yyyy;
document.write(today);
Ini akan memberikan anda hari ini's upload dalam format mm/dd/yyyy.
Hanya mengubah hari ini = mm +'/'+ dd +'/'+ yyyy;
ke format apapun yang anda inginkan.
var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);
Gunakan menggantikan
pilihan jika anda'kembali pergi untuk kembali utc
variabel, seperti new Date(utc)
, seperti Firefox dan Safari don't mengenali date dengan tanda hubung.
DIPERBARUI!, Gulir Ke Bawah
Jika anda ingin sesuatu yang sederhana cukup untuk end-user ... Juga, tetap kecil akhiran masalah di versi pertama di bawah ini. Sekarang benar kembali akhiran.
var objToday = new Date(),
weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
dayOfWeek = weekday[objToday.getDay()],
domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
curMonth = months[objToday.getMonth()],
curYear = objToday.getFullYear(),
curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;
document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>
UBBER UPDATE Setelah banyak penundaan, I've akhirnya GitHubbed dan diperbarui ini dengan solusi akhir I've telah menggunakan untuk diri saya sendiri. It's bahkan memiliki beberapa menit-menit terakhir mengedit untuk membuatnya lebih manis! Jika anda'kembali mencari tua [jsFiddle, silakan lihat ini][2].
Pembaruan ini datang di 2 rasa, masih relatif kecil, meskipun tidak kecil seperti saya di atas, jawaban asli. Jika anda ingin sangat kecil, pergi dengan itu.
Juga Catatan: Ini masih kurang dari kembung moment.js. Sementara moment.js bagus, imo, memiliki terlalu banyak metode sekuler, yang memerlukan pembelajaran saat ini seolah-olah bahasa. Saya di sini menggunakan format umum seperti PHP: date.
Rasa 1 [
new Date().format(String)
][3] Saya Pribadi Fav. Aku tahu tabu tapi karya besar pada Tanggal Obyek. Hanya akan menyadari mods lain yang mungkin anda miliki untuk Tanggal Obyek.
// use as simple as
new Date().format('m-d-Y h:i:s'); // 07-06-2016 06:38:34
Rasa 2 [
dateFormat(Tanggal, String)
][4] Lebih tradisional semua-dalam-satu metode. Memiliki semua kemampuan dari sebelumnya, tapi dipanggil melalui metode dengan Tanggal param.
// use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s'); // 07-06-2016 06:38:34
*BONUS Rasa (memerlukan jQuery)
$.tanggal(Tanggal, String)
* Ini berisi lebih dari sekedar sederhanaformat
pilihan. Ini memperluas basis objek Tanggal dan termasuk metode sepertiaddDays
. Untuk informasi lebih lanjut, silakan lihat [Git*]5.
Di mod ini, format karakter yang terinspirasi oleh PHP: date. Untuk daftar lengkap, silakan lihat saya README
Mod ini juga memiliki banyak lagi daftar pra-dibuat format. Untuk menggunakan premade format, cukup masukkan nama kunci. dateFormat(new Date(), 'cantik-');
Seperti yang anda perhatikan, anda dapat menggunakan double \
untuk melarikan diri karakter.
Waktu yang sesingkat mungkin.
Untuk mendapatkan format seperti "2018-08-03":
let today = new Date().toISOString().slice(0, 10)
console.log(today)
Untuk mendapatkan format seperti "8/3/2018":
let today = new Date().toLocaleDateString()
console.log(today)
Juga, anda dapat melewati lokal sebagai argumen, misalnya toLocaleDateString("sr")
, dll.
Coba ini:
var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")
Hasilnya akan seperti
15/2/2012
Jika anda'kembali mencari lebih banyak kontrol granular atas format tanggal, saya benar-benar merekomendasikan memeriksa momentjs. Hebat perpustakaan - dan hanya 5KB. http://momentjs.com/
Anda dapat menggunakan moment.js: http://momentjs.com/
var m = moment().format("DD/MM/YYYY");
document.write(m);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
var d = (new Date()).toString().split(' ').splice(1,3).join(' ');
document.write(d)
Untuk memecahnya menjadi langkah-langkah:
(new Date()).toString()
memberi "Fri Jun 28 2013 15:30:18 GMT-0700 (PDT)"
(new Date()).toString().split(' ')
membagi string di atas pada masing-masing ruang dan menghasilkan array sebagai berikut: ["Jum", "Jun", "28", "2013", "15:31:14", "GMT-0700", "(PDT)"]
(new Date()).toString().split(' ').sambatan(1,3).bergabung(' ')
mengambil yang kedua, ketiga dan keempat nilai-nilai dari array di atas, bergabung dengan mereka dengan spasi, dan mengembalikan sebuah string "Jun 28 2013"
Ini bekerja setiap waktu:
var now = new Date();
var day = ("0" + now.getDate()).slice(-2);
var month = ("0" + (now.getMonth() + 1)).slice(-2);
var today = now.getFullYear() + "-" + (month) + "-" + (day);
console.log(today);
var date = new Date().toLocaleDateString("en-US");
Juga, anda dapat memanggil metode toLocaleDateString
dengan dua parameter:
var date = new Date().toLocaleDateString("en-US", {
"year": "numeric",
"month": "numeric"
});
Artikel tentang BACA. Lebih lanjut tentang metode ini pada MDN.
Cleaner, versi sederhana:
new Date().toLocaleString();
Hasil bervariasi menurut pengguna's lokal:
2/27/2017, 9:15:41 AM
Anda bisa mendapatkan tanggal saat ini memanggil metode statis sekarang seperti ini:
var now = Date.now()
referensi:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now
Varun's jawaban tidak memperhitungkan TimezoneOffset. Berikut ini adalah versi yang tidak:
var d = new Date()
new Date(d.getTime() - d.getTimezoneOffset() * 60000).toJSON().slice(0, 10) // 2015-08-11
The TimezoneOffset
adalah menit, sementara Tanggal konstruktor mengambil milidetik, sehingga perkalian dengan 60000
.
Sebagai toISOString()
hanya akan kembali saat ini UTC waktu , bukan waktu setempat. Kita harus membuat tanggal dengan menggunakan '.toString()' fungsi untuk mendapatkan kencan di yyyy-MM-dd
format seperti
document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('T')[0]);
Untuk mendapatkan tanggal dan waktu ke dalam yyyy-MM-ddTHH:mm:ss
format
document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('.')[0]);
Untuk mendapatkan tanggal dan waktu ke dalam yyyy-MM-dd HH:mm:ss
format
document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('.')[0].replace('T',' '));