2011-12-20 51 views
1

在我的MVC視圖中,我將日期的用戶輸入並將該值傳遞給控制器​​操作。時間戳和JsonDate格式轉換

我傳遞的日期進入帶有時間戳的控制器參數。稍後在控制器代碼中,我將該日期參數與數據庫中的日期值進行比較。數據庫日期值是JSON日期格式。

我的問題,二折...

  1. 如何獲得剛過到控制器,不帶時間標記的日期。或者我怎樣才能將帶有時間戳的日期格式轉換爲mm/dd/yyyy格式。

  2. 一旦我這樣做,我該如何比較兩個值。一個日期是在常規mm/dd/yyyy格式和其他日期(從數據庫)是JSON日期格式提前"/Date(1324414956395)/"

感謝。

+0

爲什麼地球上你存儲JSON格式的日期在你的數據庫,而不是使用日期時間列?我會建議你重新思考你的數據庫設計。你的問題並沒有真正與ASP.NET MVC相關。 – 2011-12-20 21:38:32

+0

我正在使用RavenDB作爲我的數據庫。它的早期版本中有JSON格式的日期。 – ZVenue 2011-12-20 21:40:33

+0

我對RavenDB並不熟悉,但我強烈懷疑它的.NET客戶端驅動程序具有一些DateTime轉換功能,無論它如何存儲日期。我的意思是,如果你從數據庫中取出'/ Date(1324414956395)/「'字符串而不是DateTime實例,那就太荒謬了。我簡直不敢相信。無論如何,我的觀點是:你的問題與asp.net-mvc無關。請使用您正在使用的數據訪問特定技術進行重新標記。 – 2011-12-20 21:41:58

回答

1

您可以創建一個方法來做到這一點:

 private static DateTime ConvertFromUnixTimestamp(double timestamp) 
     { 

      var original = new DateTime(1970, 1, 1, 0, 0, 0, 0); 

      return original.AddSeconds(timestamp); 

     } 
+0

你將字符串的1324414956395部分作爲雙精度來傳遞 – 2011-12-21 18:08:31

+0

我想將mm/dd/yyyy轉換爲「/ Date(1324414956395)/」格式。 。而不是其他的方式..你在我的情況下傳遞的「時間戳」是以mm/dd/yyyy格式。我如何在我的情況下做到這一點? – ZVenue 2011-12-28 16:17:48

+0

如果您嘗試過(今天 - 新的DateTime(1970,1,1,0,0,0,0)),那麼該怎麼辦?TotalSeconds Today將是您從中轉換的日期。然後取出。並將/ date()添加到字符串中。 – 2011-12-28 16:33:35