我有像这样的JQuery函数
function (){
alert($scope.modal.ondutytime);
var data = {
"OnDutyTime": $scope.modal.ondutytime,
"Comments": ""
};
alert(JSON.stringify(data));
}
$scope
包含我在angularJs视图中设置的所有值。问题是,第一个alert
显示了本地ondutytime
日期&时间
Tue Oct 06 2015 20:30:44 GMT+0500 (Pakistan Standard Time)
但是当我创建一个JSON对象data
然后在stringify之后发出警告时,它会显示UTC日期&时间(5小时差异)
{
"OnDutyTime": "2015-10-06T15:33:10.903Z"
"comments":""
}
如何确保不转换为GMT?
编辑: 我也试过这个
new Date('2015-10-06T15:33:10.903Z')
它显示了我的本地日期&时间,但是我必须提供$scope.modal.ondutytime
已经包含我的本地日期&时间。所以当我把上面一行写成
new Date($scope.modal.ondutytime)
再次显示UTC日期&时间。
答案 0 :(得分:0)
在处理巴西时区(GMT-3)并尝试在本地存储中保存“新Date()”时,我遇到了同样的问题。我找到的解决方案是更改javascript“ Date()”的原型,以使浏览器的时区成为javascript的默认时区。当然这不是一件好事,但是根据您的需要,它可能会有所帮助。
您可以找到我使用的here代码。
您将看到,这个Stackoverflow的问题为这个问题提供了多个解决方案,其中包括使用“ Moment JS”,这是一个非常流行的处理时间的库。