Safari浏览器中的格式化日期不正确

Formatted date not coming proper in Safari Browser

本文关键字:日期 不正确 格式化 浏览器 Safari      更新时间:2023-09-26

我正试图在Safari浏览器中运行以下代码,但警告框中的日期没有正确显示。它在谷歌chrome中显示正确的日期。在safari中,它显示"2015年3月23日星期二",在Chrome中显示"2015月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);

请参阅此线程。

toLocaleDateString()未返回dd/mm/yyyy格式的

你可以使用这个代码,这个代码是根据黑暗Absol Niet为你改编的答案改编的。

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