0

我正在尝试将日期格式从一个更改为另一个,例如 10/05/2012 14:30:56 到 10th May 2012 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 日,这是不正确的。那么如何互换日期和月份呢?

4

2 回答 2

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);

然后您可以执行通常的日期转换。

于 2012-05-23T08:44:50.857 回答
0

知道用户的 Dates 的默认字符串、格式化和设置输入会很方便。您只需在每个会话中检查一次:

Date.ddmm: (function(){
    return Date.parse('2/6/2009')==1243915200000;
})();

if(Date.ddmm)//format DD/MM/YYYY;
else ////format MM/DD/YYYY;
于 2012-05-23T14:07:49.157 回答