我正在尝试在Safari浏览器中运行以下代码,但日期未在警报框中正确显示。它在Google Chrome中显示正确的日期。在safari中它显示“2015年3月23日星期二”,在Chrome中显示“2015年3月23日”。
有谁知道为什么会这样?
function getFormattedDate(input){
var pattern=/(.*?)\/(.*?)\/(.*?)$/;
var result = input.replace(pattern,function(match,p1,p2,p3){
var months=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Dec'];
return (p2<10?"0"+p2:p2)+" "+months[(p1-1)]+" "+p3;
});
alert(result);
}
d1= new Date();
d2= d1.toLocaleDateString();
alert(d2);
getFormattedDate(d2);
答案 0 :(得分:0)
请参阅此主题。
toLocaleDateString() is not returning dd/mm/yyyy format
你可以使用Niet the Dark Absol为你编写的答案中采用的代码。
function getFormattedDate(input){
var pattern=/(.*?)\/(.*?)\/(.*?)$/;
var result = input.replace(pattern,function(match,p1,p2,p3){
var months=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Dec'];
return (p2<10?"0"+p2:p2)+" "+months[(p1-1)]+" "+p3;
});
alert(result);
}
var dateobj = new Date();
function pad(n) {return n < 10 ? "0"+n : n;}
var d2 = pad(dateobj.getMonth()+1)+"/"+pad(dateobj.getDate())+"/"+dateobj.getFullYear();
alert(d2);
getFormattedDate(d2);