alert(dateObj)
gibt Wed Dec 30 2009 00:00:00 GMT+0800
Wie bekomme ich ein Datum im Format 2009/12/30
?
alert(dateObj)
gibt Wed Dec 30 2009 00:00:00 GMT+0800
Wie bekomme ich ein Datum im Format 2009/12/30
?
Antworten:
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;
oder Sie können ein neues Datum einstellen und die oben genannten Werte angeben
getMonth
und getUTCMonth
?
getUTCDay()
sollte ersetzt werden durch getUTCDate()
, da Tag die Nummer des Wochentags (0-6) und Datum die Nummer des Tages im Monat (1-31) ist.
var dt = new Date();
dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/" + dt.getDate();
Da der Monatsindex auf 0 basiert, müssen Sie ihn um 1 erhöhen.
Bearbeiten
Eine vollständige Liste der Datumsobjektfunktionen finden Sie unter
getMonth()
Gibt den Monat (0-11) am angegebenen Datum gemäß der Ortszeit zurück.
getUTCMonth()
Gibt den Monat (0-11) am angegebenen Datum gemäß der Weltzeit zurück.
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"
Ich würde Ihnen empfehlen, Moment.js http://momentjs.com/ zu verwenden.
Dann können Sie tun:
moment(new Date()).format("YYYY/MM/DD");
Hinweis: Sie müssen nicht wirklich hinzufügen, new Date()
wenn Sie das aktuelle TimeDate möchten. Ich habe es nur als Referenz hinzugefügt, damit Sie ihm ein Datumsobjekt übergeben können. Für das aktuelle TimeDate funktioniert dies auch:
moment().format("YYYY/MM/DD");
die Info
Wenn ein zweistelliger Monat und ein Datum gewünscht werden (01.01.2016 vs. 01.01.2016)
Code
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);
Ausgabe
06.10.2016
Geige
https://jsfiddle.net/Hastig/1xuu7z7h/
Anerkennung
Weitere Informationen von und Gutschrift zu dieser Antwort
Mehr
Um mehr über .slice
den Try-it-yourself-Editor von w3schools zu erfahren, habe ich besser verstanden, wie man ihn verwendet.
Nettes Formatierungs-Add-In: http://blog.stevenlevithan.com/archives/date-time-format .
Damit könnte man schreiben:
var now = new Date();
now.format("yyyy/mm/dd");
Verwenden Sie die Date get-Methoden.
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();
EUROPA (ENGLISCH / SPANISCH) FORMAT Wenn
Sie den aktuellen Tag benötigen, können Sie diesen verwenden.
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);
* Für das spanische Format übersetzen Sie einfach die WEEK-Variable.
var week = new Array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado');
Ausgabe: Montag - 16.11.2015 14:24
Mit der akzeptierten Antwort würde der 1. Januar folgendermaßen angezeigt : 2017/1/1
.
Wenn Sie es vorziehen 2017/01/01
, können Sie verwenden:
var dt = new Date();
var date = dt.getFullYear() + '/' + (((dt.getMonth() + 1) < 10) ? '0' : '') + (dt.getMonth() + 1) + '/' + ((dt.getDate() < 10) ? '0' : '') + dt.getDate();
Warum nicht einfach?
dateObj.toISOString().slice(0, 10) // YYYY-MM-DD
Überprüfe hier:
const date1 = new Date('December 17, 1995 03:24:00');
console.log(date1.toISOString().slice(0, 10))
Hier ist ein sauberer Weg, um Jahr / Monat / Tag mit Vorlagenliteralen zu erhalten:
var date = new Date();
var formattedDate = `${date.getFullYear()}/${(date.getMonth() + 1)}/${date.getDate()}`;
console.log(formattedDate);
let dateObj = new Date();
let myDate = (dateObj.getUTCFullYear()) + "/" + (dateObj.getMonth() + 1)+ "/" + (dateObj.getUTCDate());
Als Referenz können Sie die folgenden Details sehen
new Date().getDate() // Return the day as a number (1-31)
new Date().getDay() // Return the weekday as a number (0-6)
new Date().getFullYear() // Return the four digit year (yyyy)
new Date().getHours() // Return the hour (0-23)
new Date().getMilliseconds() // Return the milliseconds (0-999)
new Date().getMinutes() // Return the minutes (0-59)
new Date().getMonth() // Return the month (0-11)
new Date().getSeconds() // Return the seconds (0-59)
new Date().getTime() // Return the time (milliseconds since January 1, 1970)
let dateObj = new Date();
let myDate = (dateObj.getUTCFullYear()) + "/" + (dateObj.getMonth() + 1)+ "/" + (dateObj.getUTCDate());
console.log(myDate)
// Rückgabe der Minuten (0-59) neues Datum (). GetMonth () // Rückgabe des Monats (0-11) neues Datum (). GetSeconds () // Rückgabe der Sekunden (0-59) neues Datum () .getTime () // Zeit zurückgeben (Millisekunden seit dem 1. Januar 1970)
Sie können einfach diesen einzeiligen Code verwenden, um das Datum im Format Jahr-Monat-Datum abzurufen
var date = new Date().getFullYear() + "-" + new Date().getMonth() + 1 + "-" + new Date().getDate();
Ich benutze dies, was funktioniert, wenn Sie ein Datum obj oder js Zeitstempel übergeben:
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);
}
}
Mit ES2018 wurden Regex-Erfassungsgruppen eingeführt, mit denen Sie Tag, Monat und Jahr erfassen können:
const REGEX = /(?<year>[0-9]{4})-(?<month>[0-9]{2})-(?<day>[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);
Der Vorteil dieses Ansatzes besteht darin, dass Tag, Monat und Jahr für nicht standardmäßige String-Datumsformate erfasst werden können.
Ref. https://www.freecodecamp.org/news/es9-javascripts-state-of-art-in-2018-9a350643f29c/