Pertanyaan Bagaimana cara mendapatkan tanggal saat ini di JavaScript?


Bagaimana cara mendapatkan tanggal saat ini di JavaScript?


1681
2017-10-07 11:39


asal


Jawaban:


Menggunakan new Date() untuk menghasilkan yang baru Date objek yang berisi tanggal dan waktu saat ini.

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();

if(dd<10) {
    dd = '0'+dd
} 

if(mm<10) {
    mm = '0'+mm
} 

today = mm + '/' + dd + '/' + yyyy;
document.write(today);

Ini akan memberi Anda tanggal hari ini dalam format mm / dd / yyyy.

Cukup berubah today = mm +'/'+ dd +'/'+ yyyy; untuk format apa pun yang Anda inginkan.


2003
2018-02-08 04:42



var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);

Menggunakan replace pilihan jika Anda akan menggunakan kembali utc variabel, seperti new Date(utc), karena Firefox dan Safari tidak mengenali tanggal dengan tanda hubung.


340
2017-09-29 14:13



DIPERBARUI!, Gulir ke Bawah

Jika Anda menginginkan sesuatu yang sederhana cantik untuk pengguna akhir ... Also, fixed a small suffix issue in the first version below. Now properly returns suffix.

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, akhirnya aku GitHubbed dan perbarui ini dengan solusi akhir yang telah saya gunakan untuk diri saya sendiri. Bahkan ada pengeditan beberapa menit terakhir untuk membuatnya lebih manis! Jika Anda mencari yang lama jsFiddle, silakan lihat ini.

Pembaruan ini masuk 2 rasa, masih relatif kecil, meskipun tidak sekecil jawaban saya di atas, asli. Jika Anda ingin sangat kecil, pergilah dengan itu.
 Juga Catatan: Ini masih kurang kembung dari moment.js. Sementara moment.js bagus, imo, itu harus banyak metode sekuler, yang membutuhkan momen belajar seolah-olah itu adalah bahasa. Tambang di sini menggunakan format umum yang sama dengan PHP: tanggal.

tautan langsung

Rasa 1 new Date().format(String)   My Personal Fav. Saya tahu tabu, tetapi bekerja dengan baik pada Objek Tanggal. Perhatikan saja mod lain yang mungkin Anda miliki ke Objek Tanggal.

//  use as simple as
new Date().format('m-d-Y h:i:s');   //  07-06-2016 06:38:34

Rasa 2 dateFormat(Date, String)   Metode all-in-one yang lebih tradisional. Memiliki semua kemampuan yang sebelumnya, tetapi dipanggil melalui metode dengan param Tanggal.

//  use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s');  //  07-06-2016 06:38:34

BONUS Flavour (membutuhkan jQuery) $.date(Date, String)   Ini mengandung lebih dari sekadar sederhana format pilihan. Ini memperluas objek Tanggal dasar dan termasuk metode seperti addDays. Untuk informasi lebih lanjut, silakan lihat Git.

Dalam mod ini, karakter format terinspirasi oleh PHP: tanggal. Untuk daftar lengkap, silakan lihat saya Baca aku

Mod ini juga memiliki daftar format pra-produksi yang jauh lebih panjang. Untuk menggunakan format premade, cukup masukkan nama kuncinya. dateFormat(new Date(), 'pretty-a');

  • 'senyawa'
    • 'commonLogFormat' == 'd / M / Y: G: i: s'
    • 'exif' == 'Y: m: d G: i: s'
    • 'isoYearWeek' == 'Y \\ WW'
    • 'isoYearWeek2' == 'Y - \\ WW'
    • 'isoYearWeekDay' == 'Y \\ WWj'
    • 'isoYearWeekDay2' == 'Y - \\ WW-j'
    • 'mySQL' == 'Y-m-d h: i: s'
    • 'postgreSQL' == 'Y.z'
    • 'postgreSQL2' == 'Yz'
    • 'soap' == 'Y-m-d \\ TH: i: s.u'
    • 'soap2' == 'Y-m-d \\ TH: i: s.uP'
    • 'unixTimestamp' == '@U'
    • 'xmlrpc' == 'Ymd \\ TG: i: s'
    • 'xmlrpcCompact' == 'Ymd \\ tGis'
    • 'wddx' == 'Y-n-j \\ TG: i: s'
  • 'konstanta'
    • 'AMERICAN' == 'F j Y'
    • 'AMERICANSHORT' == 'm / d / Y'
    • 'AMERICANSHORTWTIME' == 'm / d / Y h: i: sA'
    • 'ATOM' == 'Y-m-d \\ TH: i: sP'
    • 'COOKIE' == 'l d-M-Y H: i: s T'
    • 'EROPA' == 'j F Y'
    • 'EUROPEANSHORT' == 'd.m.Y'
    • 'EUROPEANSHORTWTIME' == 'd.m.Y H: i: s'
    • 'ISO8601' == 'Y-m-d \\ TH: i: sO'
    • 'LEGAL' == 'j F Y'
    • 'RFC822' == 'D d M y H: i: s O'
    • 'RFC850' == 'l d-M-y H: i: s T'
    • 'RFC1036' == 'D d M y H: i: s O'
    • 'RFC1123' == 'D d M Y H: i: s O'
    • 'RFC2822' == 'D d M Y H: i: s O'
    • 'RFC3339' == 'Y-m-d \\ TH: i: sP'
    • 'RSS' == 'D d M Y H: i: s O'
    • 'W3C' == 'Y-m-d \\ TH: i: sP'
  • 'cantik'
    • 'pretty-a' == 'g: i.sA l jS \\ o \\ f F Y'
    • 'pretty-b' == 'g: iA l jS \\ o \\ f F Y'
    • 'pretty-c' == 'n / d / Y g: iA'
    • 'pretty-d' == 'n / d / Y'
    • 'pretty-e' == 'F jS - g: ia'
    • 'pretty-f' == 'g: iA'

Seperti yang Anda perhatikan, Anda dapat menggunakan dua kali lipat \ untuk melarikan diri dari karakter.



187
2018-02-10 14:33



Jika Anda hanya ingin tanggal tanpa info waktu, gunakan:

var today = new Date();
    today.setHours(0, 0, 0, 0);

document.write(today);


115
2017-09-02 06:14



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

90
2018-02-15 08:48



Kemungkinan sesingkat mungkin:

let today = new Date().toISOString().slice(0, 10)

Ia kembali "2016-03-10"


61
2018-03-10 16:30



Jika Anda mencari lebih banyak kontrol granular atas format tanggal, saya benar-benar merekomendasikan memeriksa momentjs. Perpustakaan hebat - dan hanya 5KB. http://momentjs.com/


57
2017-12-12 01:03