我正在处理日期时间值未正确纠正的问题。 当我将时区从东海岸改为西海岸时,问题就出现了。 现在,在我的本地主机上,我无法看到这个问题;在QA盒子上,存在问题。 我的代码出现在QA框中,但我对这个问题发生的原因感到非常难过。为什么时区在我的本地机器上显示正确,但在QA机器上显示错误的日期(落后1天)?
ex :(西海岸时区)
Input
1/6/2018 "/Date(1515225600000)/"
11/10/2018 "/Date(1515657600000)/"
10/21/2018 "/Date(1513065600000)/"
Ouput
On my machine I see the value 1/6/2018 on the QA Machine I see 1/5/2018.
On my machine I see the value 11/10/2018 on the QA Machine I see 11/9/2018.
On my machine I see the value 10/21/2018 on the QA Machine I see 10/20/2018.
任何帮助都将不胜感激。
for (var i = 0; i < data.rows.length; i++) {
var dosDate = data.rows[i].DOS;
var convertedDosDate = Utills.DatesAndTimes.parseDateOrTodayFromServerDateTime(dosDate);
data.rows[i].DOS = convertedDosDate;
var doaDate = data.rows[i].DOA;
var convertedDoaDate = Utills.DatesAndTimes.parseDateOrTodayFromServerDateTime(doaDate);
data.rows[i].DOA = convertedDoaDate;
}
parseDateOrTodayFromServerDateTime: function(serverDateTime)
{
// TODO - replace usages with one of the other parsing methods, as appropriate; this one doesn't work in all instances
if(serverDateTime instanceof Date)
{
return serverDateTime;
}
var parsedDate;
try
{
var millisecondsRegex = /-?\d+/,
millisecondsValue = millisecondsRegex.exec(serverDateTime),
milliseconds = parseInt(millisecondsValue, 10);
parsedDate = new Date(milliseconds);
}
catch(e)
{
parsedDate = new Date();
}
return parsedDate;
},