C# 时间戳和JsonDate格式转换

C# 时间戳和JsonDate格式转换,c#,json,datetime,ravendb,C#,Json,Datetime,Ravendb,在我的MVC视图中,我获取用户输入的日期,并将该值传递给控制器操作 我传递的日期带时间戳进入控制器参数。在控制器代码的后面,我将该日期参数与数据库中的日期值进行比较。数据库日期值采用JSON日期格式 我的问题有两个方面 如何只获取传入控制器的日期,而不使用时间戳。或者如何将带有时间戳的日期格式转换为仅mm/dd/yyyy格式 一旦我这样做了,我如何比较两个值。一个日期为常规的mm/dd/yyyy格式,另一个日期(来自数据库)为JSON日期格式,如“/date(1324414956395)/” 提

在我的MVC视图中,我获取用户输入的日期,并将该值传递给控制器操作

我传递的日期带时间戳进入控制器参数。在控制器代码的后面,我将该日期参数与数据库中的日期值进行比较。数据库日期值采用JSON日期格式

我的问题有两个方面

  • 如何只获取传入控制器的日期,而不使用时间戳。或者如何将带有时间戳的日期格式转换为仅
    mm/dd/yyyy
    格式

  • 一旦我这样做了,我如何比较两个值。一个日期为常规的
    mm/dd/yyyy
    格式,另一个日期(来自数据库)为JSON日期格式,如
    “/date(1324414956395)/”


  • 提前感谢。

    您可以创建一个方法来执行此操作:

            private static DateTime ConvertFromUnixTimestamp(double timestamp)
            {
    
                var original = new DateTime(1970, 1, 1, 0, 0, 0, 0);
    
                return original.AddSeconds(timestamp);
    
            }
    

    您可以创建一个方法来执行此操作:

            private static DateTime ConvertFromUnixTimestamp(double timestamp)
            {
    
                var original = new DateTime(1970, 1, 1, 0, 0, 0, 0);
    
                return original.AddSeconds(timestamp);
    
            }
    

    究竟为什么要在数据库中存储JSON格式的日期,而不是使用datetime列?我建议您重新考虑数据库设计。你的问题实际上与ASP.NET MVC无关。我正在使用RavenDB作为我的数据库。它的早期版本中有JSON格式的日期。我不熟悉RavenDB,但我强烈怀疑它的.NET客户端驱动程序具有一些日期时间转换功能,无论它如何存储日期。我的意思是,如果从数据库中获取
    “/Date(1324414956395)/”
    字符串而不是DateTime实例,那就太可笑了。我简直不敢相信。无论如何,我的观点是:你的问题与asp.net-mvc无关。请使用您正在使用的数据访问特定技术重新标记。RavenDB不再具有类似的日期格式。我只是碰巧使用了一个早期版本。如果你有什么好的建议,请告诉我。非常感谢。也请参见我的问题1。。Json格式是q2.ZVenue,RavenDB不再保存Json格式,但它仍然可以准备好。只需查询date-time实例,它通常会帮您弄清楚为什么您要在数据库中存储JSON格式的日期,而不是使用datetime列?我建议您重新考虑数据库设计。你的问题实际上与ASP.NET MVC无关。我正在使用RavenDB作为我的数据库。它的早期版本中有JSON格式的日期。我不熟悉RavenDB,但我强烈怀疑它的.NET客户端驱动程序具有一些日期时间转换功能,无论它如何存储日期。我的意思是,如果从数据库中获取
    “/Date(1324414956395)/”
    字符串而不是DateTime实例,那就太可笑了。我简直不敢相信。无论如何,我的观点是:你的问题与asp.net-mvc无关。请使用您正在使用的数据访问特定技术重新标记。RavenDB不再具有类似的日期格式。我只是碰巧使用了一个早期版本。如果你有什么好的建议,请告诉我。非常感谢。也请参见我的问题1。。Json格式是q2.ZVenue,RavenDB不再保存Json格式,但它仍然可以准备好。只要查询date-time实例,通常情况下,它会为您解决问题。如果您将字符串的1324414956395部分作为double传递,我想将mm/dd/yyyy转换为“/date(1324414956395)/”格式。。而不是相反。。您在我的案例中传递的“时间戳”是mm/dd/yyyy格式。在我的情况下,我该怎么做?如果您尝试(今天-新日期时间(1970,1,1,0,0,0,0)),今天的TotalSeconds将是您转换的日期。然后拿出那把枪。然后将/date()添加到字符串中。将字符串的1324414956395部分作为double传递。我想将mm/dd/yyyy转换为“/date(1324414956395)/”格式。。而不是相反。。您在我的案例中传递的“时间戳”是mm/dd/yyyy格式。在我的情况下,我该怎么做?如果您尝试(今天-新日期时间(1970,1,1,0,0,0,0)),今天的TotalSeconds将是您转换的日期。然后拿出那把枪。并将/date()添加到字符串中。