start Date参数值设置为凌晨3点而不是12点

时间:2011-02-02 18:49:20

标签: c# model-view-controller fullcalendar

我在.NET MVC应用程序中尝试使用FullCalendar,在获取数据时遇到starDate和endDate参数问题。

我正在使用Northwind数据库,Orders表,并将日历设置为1996年8月。日历显示从7月28日(星期日)到9月7日(星期六),但是在获取数据时,startDate是“838522800”,这是“7月28日凌晨03:00”。由于Northwind数据库的订单不存储时间(设置为凌晨12:00),因此在显示8月日历时未列出7月28日的订单。

我用来将Unix TimeStamp转换为C#Datetime的函数是从这里借来的:http://codeclimber.net.nz/archive/2007/07/10/convert-a-unix-timestamp-to-a-.net-datetime.aspx

为什么Fullcalendar在凌晨3点为startDate获取数据?怎么解决?

1 个答案:

答案 0 :(得分:0)

刚刚发现发生了什么...... Javascript以UTC格式发送时间戳。 3小时的差异是由于Windows时区(UTC-3) 通过在C#函数中添加“ToLocalTime()”来修复它,它将Unix时间戳转换为Datetime,所以我改变了这个:

var origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
return origin.AddSeconds(timestamp);

到此:

var origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
return origin.AddSeconds(timestamp).ToLocalTime();