Bagaimana untuk mendapatkan tahun/bulan/hari dari tanggal obyek?

alert(dateObj) memberi Wed Dec 30 tahun 2009 00:00:00 GMT+0800

Bagaimana untuk mendapatkan tanggal dalam format 2009/12/30?

Mengomentari pertanyaan (1)
Larutan
var dateObj = new Date();
var month = dateObj.getUTCMonth() + 1; //months from 1-12
var day = dateObj.getUTCDate();
var year = dateObj.getUTCFullYear();

newdate = year + "/" + month + "/" + day;

atau anda dapat mengatur tanggal baru dan memberikan nilai-nilai di atas

Komentar (6)
var dt = new Date();

dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/" + dt.getDate();

Sejak bulan indeks adalah 0 didasarkan anda harus increment dengan 1.

Edit

Untuk daftar lengkap objek tanggal fungsi melihat

Tanggal

getMonth()

Kembali bulan (0-11) pada tanggal yang telah ditentukan sesuai dengan waktu setempat.

getUTCMonth()

Kembali bulan (0-11) pada tanggal yang telah ditentukan sesuai dengan waktu universal.

Komentar (2)
new Date().toISOString()
"2016-02-18T23:59:48.039Z"
new Date().toISOString().split('T')[0];
"2016-02-18"
new Date().toISOString().replace('-', '/').split('T')[0].replace('-', '/');
"2016/02/18"

new Date().toLocaleString().split(',')[0]
"2/18/2016"
Komentar (1)

Saya akan menyarankan anda untuk menggunakan Moment.js http://momentjs.com/

Maka yang dapat anda lakukan:

moment(new Date()).format("YYYY/MM/DD");

Catatan: anda don't sebenarnya perlu menambahkan new Date() jika anda mau, saat ini TimeDate, saya hanya menambahkan ini sebagai referensi yang dapat anda melewati tanggal keberatan untuk itu. untuk saat ini TimeDate ini juga bekerja:

moment().format("YYYY/MM/DD");
Komentar (1)

Nice format add-in: http://blog.stevenlevithan.com/archives/date-time-format.

Dengan itu anda bisa menulis:

var now = new Date();
now.format("yyyy/mm/dd");
Komentar (0)

info

Jika 2 digit bulan dan tanggal yang diinginkan (2016/01/01 vs 2016/1/1)

kode

var dateObj = new Date();
var month = ('0' + (dateObj.getMonth() + 1)).slice(-2);
var date = ('0' + dateObj.getDate()).slice(-2);
var year = dateObj.getFullYear();
var shortDate = year + '/' + month + '/' + date;
alert(shortDate);

output

2016/10/06

biola

https://jsfiddle.net/Hastig/1xuu7z7h/

kredit

Info lebih lanjut dan kredit untuk jawaban ini

lagi

Untuk mempelajari lebih lanjut tentang .slice yang mencoba sendiri editor di w3schools membantu saya memahami lebih baik bagaimana untuk menggunakannya.

Komentar (1)

Gunakan Saat mendapatkan metode.

http://www.tizag.com/javascriptT/javascriptdate.php

http://www.htmlgoodies.com/beyond/javascript/article.php/3470841

var dateobj= new Date() ;
var month = dateobj.getMonth() + 1;
var day = dateobj.getDate() ;
var year = dateobj.getFullYear();
Komentar (2)

EROPA (INGGRIS/SPANYOL) FORMAT
Saya perlu anda dapatkan hari ini juga, anda dapat menggunakan yang satu ini.


function getFormattedDate(today) 
{
    var week = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
    var day  = week[today.getDay()];
    var dd   = today.getDate();
    var mm   = today.getMonth()+1; //January is 0!
    var yyyy = today.getFullYear();
    var hour = today.getHours();
    var minu = today.getMinutes();

    if(dd
Komentar (0)

Dengan jawaban yang diterima, januari 1st akan ditampilkan seperti ini: 2017/1/1.

Jika anda memilih 2017/01/01, anda dapat menggunakan:

var dt = new Date();
var date = dt.getFullYear() + '/' + (((dt.getMonth() + 1) < 10) ? '0' : '') + (dt.getMonth() + 1) + '/' + ((dt.getDate() < 10) ? '0' : '') + dt.getDate();
Komentar (0)

Anda hanya dapat menggunakan satu baris kode untuk mendapatkan date di tahun-bulan-tanggal format

var date = new Date().getFullYear() + "-" + new Date().getMonth() + 1 + "-" + new Date().getDate();
Komentar (0)
var date = new Date().toLocaleDateString()
"5/19/2019"
Komentar (0)

Berikut ini adalah cara yang lebih bersih semakin Tahun/Bulan/Hari dengan template literal:

var date = new Date();
var formattedDate = `${date.getFullYear()}/${(date.getMonth() + 1)}/${date.getDate()}`;
console.log(formattedDate);
Komentar (0)

ES2018 diperkenalkan regex menangkap kelompok-kelompok yang dapat anda gunakan untuk menangkap hari, bulan dan tahun:

const REGEX = /(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2});
const results = REGEX.exec('2018-07-12');
console.log(results.groups.year);
console.log(results.groups.month);
console.log(results.groups.day);

Keuntungan dari pendekatan ini adalah possiblity untuk menangkap hari, bulan, tahun untuk non-standar string format tanggal.

Ref. https://www.freecodecamp.org/news/es9-javascripts-state-of-art-in-2018-9a350643f29c/

Komentar (0)

Saya menggunakan ini yang bekerja jika anda melewati tanggal obj atau js timestamp:

getHumanReadableDate: function(date) {
    if (date instanceof Date) {
         return date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getFullYear();
    } else if (isFinite(date)) {//timestamp
        var d = new Date();
        d.setTime(date);
        return this.getHumanReadableDate(d);
    }
}
Komentar (0)