cho*_*bo2 41 javascript formatting date
我有一个像这个星期一,2010年1月9日的日期
我现在想把它转换成
1/9/2010 mm/dd/yyyy
我试着这样做
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;
Run Code Online (Sandbox Code Playgroud)
但是,它必须认为日期是以不同的格式,因为白天返回1而不是9.
Rol*_*man 48
该getDay()方法返回一个数字以指示星期几(0 =太阳,1 =星期一,... 6 =星期六).使用getDate()返回某个数字的一天在一个月:
var day = convertedStartDate.getDate();
Run Code Online (Sandbox Code Playgroud)
如果您愿意,可以尝试将自定义格式函数添加到Date对象的原型中:
Date.prototype.formatMMDDYYYY = function(){
return (this.getMonth() + 1) +
"/" + this.getDate() +
"/" + this.getFullYear();
}
Run Code Online (Sandbox Code Playgroud)
这样做后,你可以调用formatMMDDYYY()在任何的实例Date对象.当然,这只是一个非常具体的例子,如果你真的需要它,你可以编写一个基于格式化字符串的通用格式化函数,有点像java的SimpleDateeFormat(http://java.sun.com/ j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html)
(切线:Date对象总是让我困惑... getYear()vs getFullYear(),getDate()vs getDay(),getDate()范围从1..31,但是getMonth()从0..11
这是一团糟,我总是需要偷看.http://www.w3schools.com/jsref/jsref_obj_date.asp)
Con*_*tin 41
内置可以toLocaleDateString()完成这项工作,但它会删除日期和月份的前导 0,所以我们会得到类似“1/9/1970”的东西,在我看来这并不完美。要获得正确的格式,MM/DD/YYYY我们可以使用以下内容:
new Date(dateString).toLocaleDateString('en-US', {
day: '2-digit',
month: '2-digit',
year: 'numeric',
})
Run Code Online (Sandbox Code Playgroud)
小智 26
干得好:
(new Date()).toLocaleDateString('en-US');
Run Code Online (Sandbox Code Playgroud)
而已 !!
你可以在任何日期对象上使用它
让我们说..你有一个名为"currentDate"的对象
var currentDate = new Date(); //use your date here
currentDate.toLocaleDateString('en-US'); // "en-US" gives date in US Format - mm/dd/yy
Run Code Online (Sandbox Code Playgroud)
(要么)
如果你想以本地格式,那么
currentDate.toLocaleDateString(); // gives date in local Format
Run Code Online (Sandbox Code Playgroud)
小智 6
var d = new Date("Wed Mar 25 2015 05:30:00 GMT+0530 (India Standard Time)");
document.getElementById("demo").innerHTML = d.toLocaleDateString();
Run Code Online (Sandbox Code Playgroud)