Ik heb zo’n afspraak op maandag 9 januari 2010
Ik wil het nu converteren naar
1/9/2010 mm/dd/jjjj
Ik heb geprobeerd dit te doen
var startDate = "Monday, January 9, 2010";
var convertedStartDate = new Date(startDate);
var month = convertedStartDate.getMonth() + 1
var day = convertedStartDate.getDay();
var year = convertedStartDate.getFullYear();
var shortStartDate = month + "/" + day + "/" + year;
Het moet echter denken dat de datum in een ander formaat is, aangezien dag 1 in plaats van 9 retourneert.
Antwoord 1, autoriteit 100%
Hier ga je:
(new Date()).toLocaleDateString('en-US');
Dat is het !!
je kunt het op elk datumobject gebruiken
laten we zeggen… je hebt een object genaamd “currentDate”
var currentDate = new Date(); //use your date here
currentDate.toLocaleDateString('en-US'); // "en-US" gives date in US Format - mm/dd/yy
(of)
Als je het in lokaal formaat wilt, dan
currentDate.toLocaleDateString(); // gives date in local Format
Antwoord 2, autoriteit 96%
De methode getDay()
retourneert een getal om de dag in de week aan te geven (0=zo, 1=ma, … 6=za). Gebruik getDate()
om een getal voor de dag in de maand te retourneren:
var day = convertedStartDate.getDate();
Als je wilt, kun je proberen een functie voor aangepaste opmaak toe te voegen aan het prototype van het Date
-object:
Date.prototype.formatMMDDYYYY = function(){
return (this.getMonth() + 1) +
"/" + this.getDate() +
"/" + this.getFullYear();
}
Hierna kunt u formatMMDDYYY()
aanroepen op elkeinstantie van het Date
object. Dit is natuurlijk maar een heel specifiek voorbeeld, en als je het echt nodig hebt, kun je een generieke opmaakfunctie schrijven die dit zou doen op basis van een opmaakreeks, een beetje zoals Java’s SimpleDateeFormat (http://java.sun.com/j2se/1.4.2/docs/api/java /text/SimpleDateFormat.html)
(tangent: het object Date
brengt me altijd in de war… getYear()
vs getFullYear()
, getDate()
vs getDay()
, getDate()
varieert van 1..31, maar getMonth()
van 0..11
Het is een puinhoop en ik moet altijd even kijken. http://www.w3schools.com/jsref/jsref_obj_date.asp)
Antwoord 3, autoriteit 82%
Ingebouwde toLocaleDateString()
doet het werk, maar het verwijdert de eerste nullen voor de dag en de maand, dus we krijgen zoiets als “1/9/1970”, wat niet het geval is perfect volgens mij. Om een juist formaat MM/DD/YYYY
te krijgen, kunnen we zoiets gebruiken als:
new Date(dateString).toLocaleDateString('en-US', {
day: '2-digit',
month: '2-digit',
year: 'numeric',
})
Update: we kunnen soortgelijk gedrag krijgen met Intl.DateTimeFormat
met fatsoenlijke browserondersteuning. Net als bij toLocaleDateString()
, kunnen we een object doorgeven met opties:
const date = new Date('Dec 2, 2021') // Thu Dec 16 2021 15:49:39 GMT-0600
const options = {
day: '2-digit',
month: '2-digit',
year: 'numeric',
}
new Intl.DateTimeFormat('en-US', options).format(date) // '12/02/2021'
Antwoord 4, autoriteit 14%
var d = new Date("Wed Mar 25 2015 05:30:00 GMT+0530 (India Standard Time)");
document.getElementById("demo").innerHTML = d.toLocaleDateString();
Antwoord 5, autoriteit 4%
date.toLocaleDateString('en-US')
werkt prima. Hier is wat meer informatie over: https:/ /developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString
Antwoord 6, autoriteit 2%
Ik wilde dat de datum werd weergegeven in het veld type=’time’.
De normale conversie slaat de nullen over en het formulierveld toont de waarde niet en geeft een fout weer in de console waarin staat dat het formaat jjjj-mm-dd moet zijn.
Daarom heb ik een kleine verklaring (vinkje)?(true):(false) als volgt toegevoegd:
makeShortDate=(date)=>{
yy=date.getFullYear()
mm=date.getMonth()
dd=date.getDate()
shortDate=`${yy}-${(mm<10)?0:''}${mm+1}-${(dd<10)?0:''}${dd}`;
return shortDate;
}
Antwoord 7
Ik kon dat doen met:
var dateTest = new Date("04/04/2013");
dateTest.toLocaleString().substring(0,dateTest.toLocaleString().indexOf(' '))
de 04/04/2013 is alleen om te testen, vervang deze door uw datumobject.
Antwoord 8
Je zou dit vrij gemakkelijk kunnen doen met mijn date-shortcodepakket:
const dateShortcode = require('date-shortcode')
var startDate = 'Monday, January 9, 2010'
dateShortcode.parse('{M/D/YYYY}', startDate)
//=> '1/9/2010'
Antwoord 9
Probeer dit:
new Date().toLocaleFormat("%x");