alert(dateObj)
daje Wed Dec 30 2009 00:00:00 GMT+0800
Jak zdobyć rok/miesiąc/dzień z obiektu daty?
Jak uzyskać datę w formacie 2009/12/30
?
alert(dateObj)
daje Wed Dec 30 2009 00:00:00 GMT+0800
Jak zdobyć rok/miesiąc/dzień z obiektu daty?
Jak uzyskać datę w formacie 2009/12/30
?
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;
lub można ustawić nową datę i dać Powyższe wartości
Pamiętaj tylko: styczeń = 0, luty = 1 i tak dalej. –
Jaka jest różnica między 'getMonth' i' getUTCMonth'? – user198729
UTC zwróci czas uniwersalny. jeśli chcesz korzystać z czasu lokalnego getMonth – Hiyasat
Ładne formatowanie: http://blog.stevenlevithan.com/archives/date-time-format.
Z tym można napisać:
var now = new Date();
now.format("yyyy/mm/dd");
Użyj Data dostać metod.
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();
Miesiące od JavaScript Obiekty daty są indeksowane od zera. Pamiętaj, aby dodać 1 do niego, w przeciwnym razie grudzień zostanie listopad; Listopad staje się październikiem i tak dalej. – roosteronacid
@Aseem Powinien to być miesiąc, który potrzebuje +1 –
var dt = new Date();
dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/" + dt.getDate();
Ponieważ indeks miesięcy są 0 oparty trzeba zwiększać ją o 1.
Edytuj
Pełną listę aktualnych funkcji obiektowych zobaczyć
getMonth()
Zwraca miesiąc (0-11) w określonej daty stosownie do czasu lokalnego.
getUTCMonth()
Powoduje zwrócenie miesiąca (0-11) w podanej dacie zgodnie z czasem uniwersalnym.
Needs parens. W przeciwnym razie październik pojawi się jako miesiąc 91 (od 9 + 1 = 91 w stringland) – rob
Powinien być dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/" + dt.getDate(); –
Proponuję użyć Moment.js http://momentjs.com/
Następnie można zrobić:
moment(new Date()).format("YYYY/MM/DD");
Uwaga: tak naprawdę nie trzeba dodawać new Date()
, jeśli chcesz bieżący TimeDate, dodałem go tylko jako odniesienie, do którego można przekazać obiekt daty. dla bieżącego TimeDate to działa również:
moment().format("YYYY/MM/DD");
EUROPE (angielski/hiszpański) FORMAT
I trzeba uzyskać bieżący dzień też, można użyć tego.
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<10) { dd='0'+dd }
if(mm<10) { mm='0'+mm }
if(minu<10){ minu='0'+minu }
return day+' - '+dd+'/'+mm+'/'+yyyy+' '+hour+':'+minu;
}
var date = new Date();
var text = getFormattedDate(date);
* Dla formatu hiszpańskiego, tylko przetłumaczyć zmiennej tygodnia.
var week = new Array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado');
wyjściowa: poniedziałek - 16/11/2015 14:24
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"
informacji
Jeśli pożądany jest miesiąc 2 cyfry i data (2016/01/01 vs 2016/1/1)
kod
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);
wyjście
2016/10/06
skrzypce
https://jsfiddle.net/Hastig/1xuu7z7h/
kredytowej
Więcej informacji zi credit to this answer
więcej
Aby dowiedzieć się więcej o .slice
try it yourself editor na w3schools pomógł mi lepiej zrozumieć, w jaki sposób z niego korzystać.
można po prostu użyć tego kodu w jednej linijce, aby uzyskać datę w formacie rok-miesiąc-date
var date = new Date().getFullYear() + "-" + new Date().getMonth() + 1 + "-" + new Date().getDate();
używam tego, który działa, jeśli przejdzie to data obj lub 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);
}
}
Przyjęta odpowiedź, 1 stycznia będzie wyświetlana w następujący sposób: 2017/1/1
.
Jeśli wolisz 2017/01/01
, można użyć:
var dt = new Date();
var date = dt.getFullYear() + '/' + (((dt.getMonth() + 1) < 10) ? '0' : '') + (dt.getMonth() + 1) + '/' + ((dt.getDate() < 10) ? '0' : '') + dt.getDate();
Chciałeś datę i czas UTC? – DOK