C# 如何在向Web Api2方法发送ISO日期时避免时区转换

C# 如何在向Web Api2方法发送ISO日期时避免时区转换,c#,ajax,rest,datetime,asp.net-web-api,C#,Ajax,Rest,Datetime,Asp.net Web Api,我在javascript中有这样一个ISO日期2017-04-29T00:00.000Z,当我在我的web api2方法中收到该值时,我希望将其解析为时间为凌晨12:00:00的日期 但是,该值2017-04-29T00:00.000Z被转换为我的本地时区 [HttpPost] public IHttpActionResult MyMethod(DateTime date) {...} 这是我用Jquery.ajax“/api/Employee?date=“+date 如何避免在收到日期时将日

我在javascript中有这样一个ISO日期
2017-04-29T00:00.000Z
,当我在我的web api2方法中收到该值时,我希望将其解析为时间为凌晨12:00:00的日期

但是,该值
2017-04-29T00:00.000Z
被转换为我的本地时区

[HttpPost]
public IHttpActionResult MyMethod(DateTime date)
{...}
这是我用Jquery.ajax
“/api/Employee?date=“+date


如何避免在收到日期时将日期转换为当前时区?当我从$.ajax
2017-04-29T00:00.000Z
使用DateTimeOffSet而不是DateTime时,我在C#中得到了这个值。2017-04-28上午10:00。

我没有一个很好的例子,但我以前见过这样做的方法:根据日期存储日期时间偏移量,然后在到达服务器时将其应用到日期。很抱歉,这没有什么帮助,但可能会给你一些东西来研究。谢谢你的评论。事实上,我正在考虑将日期作为数字(int或long)传递,并在方法中将其解析为DateTime。过去,我将日期作为字符串发送,然后对其进行解析。我发现它不干净,所以我考虑了Javascript中的ISO字符串,但我没有看到自动转换为本地时间或服务器时区。此时,我将发送包含DateTime属性的对象。在文章中,我认为它们不会被转换,但如果它们是通过QueryString或FromUri发送的,它们总是会更改为服务器时区。@chris crush代码您是对的。我使用了DateTimeOffSet而不是DateTime。然后在我的方法中,我只调用了date.DateTime,它就工作了。谢谢。好的,很酷。我会添加一个答案,让找到这个的人知道。