2016-09-15 86 views
0

我有一些控制器測試,我想檢查響應值。我無法用foo.start_time以下堆棧跟蹤比較JSON.parse(...["start_time"])如何將json解析時間與ruby對象時間進行比較?

expected: 2016-09-17 10:50:00.000000000 +0000 
     got: "2016-09-17T10:50:00.000Z" 

我嘗試了一堆的解析技術,但他們要麼返回不同的格式,或者不返回準確的數值。有一種簡單的方法可以將這些值轉換爲相同的格式來比較平等嗎?

+0

閱讀「[mcve]」。請添加一個小的JSON代碼片段,其中顯示您正在分析的字符串,包括日期,以及您將兩者進行比較的代碼。 –

回答

1

您試圖比較兩種不同的數據類型。解析的JSON是一個字符串。 foo.start_time屬性是一個Ruby日期時間。

執行以下操作:

(JSON.parse(...["start_time"])).to_datetime 

這將字符串轉換成日期時間,然後可以比較foo.start_time。

相關問題