Bagaimana cara mendapatkan tanggal saat ini di JavaScript?

Bagaimana cara mendapatkan tanggal saat ini di JavaScript?

Mengomentari pertanyaan (9)
Larutan

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.

Komentar (13)
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.

Komentar (16)

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.

Link Cepat

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 sederhana format pilihan. Ini memperluas basis objek Tanggal dan termasuk metode seperti addDays. 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(), &#39;cantik-&#39;);

  • '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'
  • 'sabun' == 'Y-m-d\\TH:i:s.u'
  • 'soap2' == 'Y-m-d\\TH:i:s.hingga'
  • 'unixTimestamp' == '@U'
  • 'xmlrpc' == 'Ymd\\TG:i:s'
  • 'xmlrpcCompact' == 'Ymd\\tGis'
  • 'wddx' == 'Y-n-j\\TG:i:s'
  • 'konstanta'
  • 'AMERIKA' == 'F j Y'
  • 'AMERICANSHORT' == 'm/d/Y'
  • 'AMERICANSHORTWTIME' == 'm/d/Y h:i:sA'
  • 'ATOM' == 'Y-m-d\\TH:i:sP'
  • 'COOKIE' == 'l-d 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:jadi'
  • 'HUKUM' == 'j F Y'
  • 'RFC822' == 'D, d M y H:i:s O'
  • 'RFC850' == 'l-d 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'
  • 'cukup'
  • 'cantik-' == 'g:i.sA l jS \\o\\f F Y'
  • 'cantik-b' == 'g:iA l jS \\o\\f F Y'
  • 'cukup-c' == 'n/d/Y g:iA'
  • 'cantik-d' == 'n/d/Y'
  • 'cantik-e' == 'F jS - g:ia'
  • 'cantik-f' == 'g:iA'

Seperti yang anda perhatikan, anda dapat menggunakan double \ untuk melarikan diri karakter.


Komentar (6)

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.

Komentar (2)

Jika anda hanya ingin kencan tanpa info waktu, gunakan:

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

document.write(today);
Komentar (4)

Coba ini:

var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("" + day + "/" + month + "/" + year + "")

Hasilnya akan seperti

15/2/2012
Komentar (1)

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/

Komentar (5)

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>
Komentar (6)
var d = (new Date()).toString().split(' ').splice(1,3).join(' ');

document.write(d)

Untuk memecahnya menjadi langkah-langkah:

  1. (new Date()).toString() memberi "Fri Jun 28 2013 15:30:18 GMT-0700 (PDT)"

  2. (new Date()).toString().split(&#39; &#39;) membagi string di atas pada masing-masing ruang dan menghasilkan array sebagai berikut: ["Jum", "Jun", "28", "2013", "15:31:14", "GMT-0700", "(PDT)"]

  3. (new Date()).toString().split(&#39; &#39;).sambatan(1,3).bergabung(&#39; &#39;) mengambil yang kedua, ketiga dan keempat nilai-nilai dari array di atas, bergabung dengan mereka dengan spasi, dan mengembalikan sebuah string "Jun 28 2013"

Komentar (4)

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);
Komentar (3)
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.

Komentar (2)

Cleaner, versi sederhana:

new Date().toLocaleString();

Hasil bervariasi menurut pengguna's lokal:

2/27/2017, 9:15:41 AM

Komentar (1)

Jika anda senang dengan YYYY-MM-DD format, ini akan melakukan pekerjaan dengan baik.

new Date().toISOString().split(&#39;T&#39;)[0]

2018-03-10

Komentar (1)

Anda dapat menggunakan Date.js perpustakaan yang tia Upload objek, dengan demikian anda dapat memiliki .hari ini() metode.

Komentar (1)

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

Komentar (1)

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.

Komentar (0)

Singkat Jawabannya adalah: new Date().toJSON().slice(0,10)

Komentar (2)

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',' '));
Komentar (0)
new Date().toDateString();

Hasilnya:

"Wed Feb 03 2016"

Komentar (0)

Jika anda ingin sederhana DD/MM/YYYY format, I've hanya datang dengan solusi sederhana ini, meskipun itu doesn't awalan hilang nol.

var d = new Date();
document.write( [d.getDate(), d.getMonth()+1, d.getFullYear()].join('/') );
Komentar (0)