如何将“mm / dd / yyyy hh:mm:ss”格式的日期值转换为“/ Date(1324414956395)/”格式(Json日期)。
我将日期格式“mm / dd / yyyy hh:mm:ss”传递给MVC控制器操作方法,我需要将其与代码中JsonDate格式的另一个日期进行比较。 谢谢你的帮助。
答案 0 :(得分:3)
dt.ToUniversalTime()
时,无法识别 DateTime?
。 DateTime?
基本上是Nullable<DateTime>
。您需要做的是使用Value
属性来检索DateTime
对象
dt.Value.ToUniversalTime();
然后,您可以使用this post中的代码(Jeff Meatball Yang的答案,而不是已接受的答案)和您的可以为空的DateTime。
答案 1 :(得分:0)
(DateTime.Now.ToUniversalTime()。Ticks - 621355968000000000)/ 10000000;
或者
此链接的优秀解决方案:Converting .NET DateTime to JSON
DateTime d1 = new DateTime(1970, 1, 1);
DateTime d2 = dt.ToUniversalTime();
TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks);
return ts.TotalMilliseconds;
然而,这似乎是比较日期的不好方法。这基本上是计算自1970年以来的刻度(或其他东西),并且将是一个非常长且准确的数字。即使您需要确定日期匹配到一秒,似乎将所有通用时间转换为mm / dd / yyyy格式然后在那时进行比较会更容易。