我在页面上有一个Kendo UI MVC网格。在这个网格中有三个日期列。日期(无时间值)作为本地时间(不是UTC)存储在数据库中。这些列在网格中定义如下:时刻转换日期到当地时间?
columns.Bound(p => p.CloseoutDate).ClientTemplate("#= moment(CloseoutDate).format('MM/DD/YYYY') #").Width(120);
columns.Bound(p => p.BeginDate).Title("Begin Date").ClientTemplate("#= moment(BeginDate).format('MM/DD/YYYY') #").Width(110);
columns.Bound(p => p.EndDate).Title("End Date").ClientTemplate("#= moment(EndDate).format('MM/DD/YYYY') #").Width(110);
您可以看到我使用了moment.js来执行日期格式设置。但是,似乎现在假设这些日期是UTC日期并将它们转换为当地时间。显示网格时,日期如下所示:
所有这些日期都将关闭一天。例如,第一行应该是1/15/2010,1/1/2010,1/15/2010。这是正常的时刻行为,可以改变吗?
此外,CloseoutDate,BeginDate和EndDate是实际的C#日期时间值。在SQL Server数据库中,它们存储为日期。
也许尝试将'format'移动到'moment(DateField)'例如'时刻(CloseoutDate,'MM/DD/YYYY')'。来自[此问题](https://stackoverflow.com/a/37278220/6224482)。 – Sandman
'CloseoutDate','BeginDate'和'EndDate'的值是多少?这些值是否是字符串?在这种情况下,你可以使用['moment(String,String)'](http://momentjs.com/docs/#/parsing/string-format/)。 – VincenzoC
@VincenzoC - CloseoutDate,BeginDate和EndDate是实际的C#日期时间值。在数据库中,它们存储为日期。 –