var getFormattedDateText = function (dateString) {
var date = new Date(dateString);
var hours, am_pm, minutes, time;
//Code for formatting the time starts
hours = date.getHours() > 12 ? date.getHours() - 12 : date.getHours();
am_pm = date.getHours() >= 12 ? "PM" : "AM";
hours = hours < 10 ? "0" + hours : hours;
minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
time = hours + ":" + minutes + " " + am_pm;
//Code for formatting the time ends
var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"];
console.log(date.getHours() + "=" + date.getMinutes());
return (monthNames[date.getMonth()] + ' ' + date.getDate() +' at ' + time+' Local Time');
};
此处日期字符串为2017-03-02T09:00:00,
但在Chrome中,它提供 date.gethours()= 14 和 date.getMinutes = 30
在Firefox中 date.gethours()= 09 和 date.getMinutes = 00
答案 0 :(得分:0)
我认为这与将日期注入函数的方式有关。我做了以下操作,并在Chrome和Firefox中获得了相同的结果:
getFormattedDateText('2017-03-02 09:00:00');
所以我删除了&#39; T&#39;来自你的dateString。浏览器都以不同的方式解释它。当我删除时,我在浏览器中得到以下内容:
console.log(date.getHours() + "=" + date.getMinutes());
logged - '9=0'
答案 1 :(得分:0)
您的指定日期格式不正确。正确的日期字符串将在chrome和firefox中返回相同的值。
检查link格式是否正确。
答案 2 :(得分:0)
通过此修改解决了我的问题
var date = new Date(dateString + 'Z');
答案 3 :(得分:-1)
没有时区的日期由chrome&amp; amp;火狐。
e.g。在你的日期字符串中添加一个时区
getFormattedDateText('2017-03-02T09:00:00Z'); // UTC timezone