使用日期函数javascript

时间:2012-05-23 08:40:56

标签: javascript

我正在尝试将日期的格式从一个更改为另一个,例如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日,这是不正确的。那么如何交换日期和月份呢?

2 个答案:

答案 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;