[英]Cast from (NSDate) -> NSTimeInterval to unrelated type 'NSTimeInterval always fails
[英]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.