我在我的Javascript代码中使用了此功能,以便将dateTime对象格式化为字符串,并且此功能在Firefox和Chrome浏览器中工作正常,但不适用于IE和Safari。 有谁知道该怎么做才能使其与Safari和IE一起使用?
日期对象在Chrome中看起来像这样:2019年3月25日星期一00:00:00 GMT + 0100(CET)
function formatDateTimeToString(date) {
var dd = (date.getDate() < 10 ? '0' : '') + date.getDate();
var MM = ((date.getMonth() + 1) < 10 ? '0' : '') + (date.getMonth() + 1);
var yyyy = date.getFullYear();
var hours = (date.getHours() < 10 ? '0' : '') + date.getHours();
var minutes = (date.getMinutes() < 10 ? '0' : '') + date.getMinutes();
return (dd + "." + MM + "." + yyyy + ' ' + hours + ':' + minutes);
}
console.log(formatDateTimeToString(new Date()));
答案 0 :(得分:0)
如果Safari的日期对象的生成方式与Chrome相同,则至少在我的旧版Safari中,代码可以成功运行,如下所示:
function formatDateTimeToString(date) {
var dd = (date.getDate() < 10 ? '0' : '') + date.getDate();
var MM = ((date.getMonth() + 1) < 10 ? '0' : '') + (date.getMonth() + 1);
var yyyy = date.getFullYear();
var hours = (date.getHours() < 10 ? '0' : '') + date.getHours();
var minutes = (date.getMinutes() < 10 ? '0' : '') + date.getMinutes();
return (dd + "." + MM + "." + yyyy + ' ' + hours + ':' + minutes);
}
var d = document;
d.w = d.writeln;
var date = new Date("Mon Mar 25 2019 00:00:00 GMT+0100 (CET)");
/* this works */
d.w( formatDateTimeToString(date)+"<BR>");
// output:
// 24.03.2019 16:00
如果尝试使用包含连字符的字符串实例化Date对象,则在Safari中可能会得到NaN,如下所示:
var d = document;
d.w = d.writeln;
date = new Date("2019-03-24");
/* returns NaN */
d.w( formatDateTimeToString(date)+"<BR>");
date = new Date("03-24-2019");
/* this fails with NaN*/
d.w( formatDateTimeToString(date)+"<BR>");