C# 使用日期时区操作
我在客户端有C# 使用日期时区操作,c#,javascript,.net,C#,Javascript,.net,我在客户端有Date(用户在日期选择器中选择),我想将其发送到服务器,并使用UTC值进行未来计算。 例如,用户选择2011年10月4日星期二00:00:00 GMT+0300(欧洲夏令时),我使用date.getTime()向服务器发送毫秒。在服务器上,我使用以下方法: public static DateTime GetDateByMilliseconds(long milliseconds) { var date = new DateTime(1970, 1, 1); ret
Date
(用户在日期选择器中选择),我想将其发送到服务器,并使用UTC值进行未来计算。例如,用户选择
2011年10月4日星期二00:00:00 GMT+0300(欧洲夏令时)
,我使用date.getTime()向服务器发送毫秒。在服务器上,我使用以下方法:
public static DateTime GetDateByMilliseconds(long milliseconds)
{
var date = new DateTime(1970, 1, 1);
return date.AddMilliseconds(milliseconds);
}
并获取2011年10月3日09:00:00 PM
。但是我想使用value2011年10月4日00:00:00
我该怎么办?在客户端重置日期时区?在服务器上添加偏移量?还有什么吗?我想你应该:
date.getTime() + (date.getTimezoneOffset() * 60 * 1000)
这将“删除”用户时区的偏移量。它们是相同的值。您说要使用UTC,
2011年10月3日09:00:00 PM
是2011年10月4日星期二00:00:00 GMT+0300的UTC值。我不明白这个问题…Javascript会给你UTC时间,所以稍后你必须从值中加上/减去偏移量才能得到DateTime对象我不是100%清楚你到底在问什么…但是,我可以告诉你的是,用UTC进行计算,非本地,然后将其转换回本地时间以显示。