我正在尝试将日期的格式从一个更改为另一个,例如10/05/2012 14:30:56至2012年5月10日12:30:56
我使用的javascript函数是
var monthNames = new Array("January", "February", "March","April", "May", "June", "July", "August", "September", "October", "November", "December");
var today = new Date("10/05/2012 14:30:56");
var cDate = today.getDate();
var cMonth = today.getMonth();
var cYear = today.getFullYear();
var cHour = today.getHours();
var cMin = today.getMinutes();
var cSec = today.getSeconds();
alert( monthNames[cMonth] + " " +cDate + "," +cYear + " " +cHour+ ":" + cMin+ ":" +cSec );
我得到的输出是10月5日,这是不正确的。那么如何交换日期和月份呢?
答案 0 :(得分:2)
Date
构造函数采用美国日期格式 - 即MM / DD / YYYY。如果您想使用英国日期格式(DD / MM / YYYY),您必须手动交换日期和月份,如下所示:
var date = "10/05/2012 14:30:56";
if (/^(\d+)\/(\d+)(.*)/.test(date))
date = RegExp.$2 + "/" + RegExp.$1 + RegExp.$3;
var today = new Date(date);
然后您可以执行通常的日期转换。
答案 1 :(得分:0)
了解用户日期的默认字符串,格式化和设置输入非常方便。您只需要在每个会话中检查一次:
Date.ddmm: (function(){
return Date.parse('2/6/2009')==1243915200000;
})();
if(Date.ddmm)//format DD/MM/YYYY;
else ////format MM/DD/YYYY;