我有一个模型,上面有日期属性。我从服务器返回此模型作为json对象。服务器将其发送为json:
model.TaskName =“任务1”;
model.PlannedStartDate =“2015-08-26T15:31:00Z”;
但在屏幕计划开始日期是26.08.2015 18:31。当我检查模型时,javascript日期对象将“2015-08-26T15:31:00Z”这个日期字符串转换为新的日期对象为“Wed Aug 26 2015 18:31:00 GMT + 0300(Turkey Daylight Time)”。
我在控制台中尝试过:
- >新日期(“2015-08-26T15:31:00Z”)
< - 2015年8月26日星期三18:31:00 GMT + 0300(土耳其夏令时)
我不希望Date对象将UTC日期转换为本地日期。我怎么能这样做?
答案 0 :(得分:1)
它没有将其转换为当地时间,而是您正在使用toString
,其中输出当地时间的日期。如果您想要UTC时间,请使用getUTCXyz
Date
方法创建自己的字符串:
var dt = new Date("2015-08-26T15:31:00Z");
snippet.log("UTC Hour: " + dt.getUTCHours());
snippet.log("UTC Min: " + dt.getUTCMinutes());
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
还有toUTCString
:
var dt = new Date("2015-08-26T15:31:00Z");
snippet.log("UTC string: " + dt.toUTCString());
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>