将JavaScript日期转换为.NET日期的最佳方式

我在JavaScript中有一个约会,它的价值就是这样的

2011年5月1日星期五05:00:00 GMT + 0530(印度标准时间){}

现在,将日期转换为.NET日期的最佳方法是什么。 请注意,我的客户端用户可能是世界各地的用户。 我将从那里获得日期,现在我需要将其转换为.NET日期。 你能帮助我吗 ?

这里回答的问题可能重复: Javascript通过Ajax与C#约会

如果您想要当地时间,就像您在问题中显示的那样,以下情况就会如此。

DateTime.ParseExact(dateString.Substring(0,24), "ddd MMM d yyyy HH:mm:ss", CultureInfo.InvariantCulture); 

如果你正在寻找GMT时间,那么在你将它发送到服务器之前在浏览器dateObject.toUTCString() Javascript做一个dateObject.toUTCString()就可以了。

从客户端将JavaScript转换为UTCString:

 var testDate = new Date().toUTCString(); 

从C#代码中解析它(你可以通过webservice调用获取js日期)。

 DateTime date = DateTime.Parse(testDate); 

您可以在发送之前将时间转换为字符串,在.net中,您应该使用datetime构造函数之一将字符串转换为日期时间。 Datetime .net – > http://msdn.microsoft.com/en-us/library/system.datetime(v=VS.90).aspx您还可以使用DateTime.Parse方法 – > http:// msdn。 microsoft.com/en-us/library/ms973825.aspx但是你应该向服务器提供正确forms的字符串

好的,请尝试这个简单的函数,它将转换你的Unix时间戳的“双重”表示

 public static DateTime ConvertFromUnixTimestamp(double timestamp) { DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0); return origin.AddMilliseconds(timestamp); } 

扩展@ Naraen的答案,我的javascript日期采用以下格式:

 Thu Jun 01 2017 04:00:00 GMT-0400 (Eastern Standard Time) 

这需要两个小写的日期( dd )转换为我在C#工作。 请参阅@ Naraen代码的更新:

 DateTime.ParseExact(dateString.Substring(0,24), "ddd MMM dd yyyy HH:mm:ss", CultureInfo.InvariantCulture);