将mm / dd / yyyy转换为JsonDate格式

时间:2011-12-28 16:22:33

标签: c# asp.net json date

  

可能重复:
  Converting .NET DateTime to JSON

如何将“mm / dd / yyyy hh:mm:ss”格式的日期值转换为“/ Date(1324414956395)/”格式(Json日期)。

我将日期格式“mm / dd / yyyy hh:mm:ss”传递给MVC控制器操作方法,我需要将其与代码中JsonDate格式的另一个日期进行比较。 谢谢你的帮助。

2 个答案:

答案 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格式然后在那时进行比较会更容易。