将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);