我是网络开发新手,在测试一些简单的东西时遇到了一个问题。在这里,我在一个简单的数据库中有一些utc gtc中的sql日期时间格式的数据:
数据库
因此,我创建了一个剑道网格来格式化数据(并在每个日期结束时添加utc),它正确地显示:correct result
当我尝试使用js的内置日期类型将utc日期时间转换为本地日期时间时出现问题:
意外结果
由于某些原因,网格的第一行被转换为其他行的不同时区。这是我用来获取和格式化表的代码。
$scope.mainGridOptions = {
pageable: true,
editable: true,
sortable: true,
dataSource: {
pageSize: 5,
transport: {
read: function (e) {
$http.get('/GetScheduler')
.then(function success(response) {
e.success(response.data)
}, function error(response) {
alert('something went wrong')
console.log(response);
})
}
},
schema: {
model: {
fields: {
"id": {
editable: false
}
}
}
}
},
columns: [{ field: "id", title: "ID", width: "100px" },
{ field: "Current_Time", title: "Time of Request", template: '#= kendo.toString(kendo.parseDate(Current_Time), "dd/MM/yyyy h:mm")#' },
{ field: "Selected_Time", title: "Scheduled Time" , template: '#= Selected_Time+" UTC" #'},
{ field: "Description" },
{ command: "destroy", width: "100px" }]
};
1条答案
按热度按时间nbewdwxp1#
看起来你看到的不是一个不同的时区。看起来你看到的是同一个时区由于日期的原因移动了一个小时。
自1996年以来,欧洲夏季时间在3月最后一个星期日的1:00 utc(欧洲中部时间02:00至欧洲中部时间03:00)和10月最后一个星期日的1:00 utc之间;此前,欧盟各国的规则并不统一
查看此处了解更多信息。