簡體   English   中英

從NSDate設置NSTimeInterval

[英]Setting NSTimeInterval from NSDate

我通過互聯網搜索,發現可以使用以下代碼設置[NSTimeInterval]。

myCalendarDay.date = [date timeIntervalSince1970];

我不明白的是為什么調試器顯示如下值。 [date]是[NSDate]類型,而[myCalendarDay.date]是[NSTimeInterval]類型。 我檢查了它們的值,發現該年份離31年還有一段距離。

這是正確的數據嗎?

在此處輸入圖片說明

timeIntervalSince1970返回一個NSTimeInterval ,表示自1970年1月1日GMT的第一個時刻起經過的秒數。

當您存儲NSDate它實際上存儲的是自格林威治標准時間2001年1月1日的第一個瞬間起的秒數。

您要讓日期對象為您提供一個參考日期的表示形式,然后將該值分配給另一個日期對象(最有可能是在生成子類代碼時被告知要使用本機值的核心數據對象)。 它需要時間間隔,而ASSUMES則使用正確的參考日期。

這兩個日期之間有31年,而並非巧合,日期對象中的時間與核心數據實例中的日期之間有31年。

如果您確實要使用1970作為基礎,則應該使用dateWithTimeIntervalSince1970:創建日期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM