乍一看,在一个基本的脚本中遇到了一个问题。我从 JSON 中获取日期,所以在示例中我只显示了这个日期出现在我身边的字符串。接下来,我将其转换为 Date 类型,然后使用逗号分隔符声明月份的本地化。此外,我在单独的变量日和月中分配。月我用月替换本地化的行。然后我取出日期和月份。除 Safari 外,所有浏览器都可以正常运行。在 safari 中,日期显示为“NaN”,月份显示为“未定义”。
关于 jsfiddle 的示例:https ://jsfiddle.net/ArtHodorev/xpvt214o/317995/
HTML:
<div id="block">
<span id="day"></span> <span id="month"></span>
</div>
JS:
var dateBase = "2018-06-07 11:50:42";
var dateDate = new Date(dateBase);
var monthArr = 'января,февраля,марта,апреля,мая,июня,июля,августа,сентября,октября,ноября,декабря'.split(',');
var dateMonth = monthArr[dateDate.getMonth()];
var dateDay = dateDate.getDay();
var day = $('#day');
var month = $('#month');
day.html(dateDay);
month.html(dateMonth);
CSS:
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#block {
background: #fff;
border-radius: 4px;
padding: 20px;
font-size: 25px;
text-align: center;
transition: all 0.2s;
margin: 0 auto;
width: 300px;
}
告诉我可能是什么问题?
模式 yyyy-MM-dd 对于 Date 构造函数不是正式有效的。一些浏览器支持它,但显然不是全部。
示例解决方案(date.js):
时刻.js:
我得到了帮助,而不是 var dateBase = "2018-06-07 11:50:42"; var dateBase = "2018-06-07T11:50:42.000+03:00";(例如,莫斯科)