2013-01-24 98 views
-1

我需要將NSDate轉換爲NSString,然後將此NSString轉換爲帶有全部時間和日期的NSDate - 什麼是最好的格式來存儲這個?將NSDate存儲爲NSString並將其從NSString轉換回NSDate的最佳方法

+0

如何轉換和存儲相關的? – 2013-01-24 12:15:13

+1

您應該解釋爲什麼要將日期轉換爲字符串。字符串應該是人類可讀的嗎?它僅用於序列化嗎? –

+0

你是否還需要語言環境信息?因爲這不包含在NSDate中。 –

回答

5

轉換爲NSString, 首先NSTimeInterval然後創建NSString對象,並做你想做的。

轉換爲NSDate的, 先將其轉換爲NSTimeInterval(雙值),並創建一個NSDate的對象

NSDate *date = [NSDate date]; 
//  convert to NSString 
NSString *strValue = [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; 

//  convert to NSDate 
date = [NSDate dateWithTimeIntervalSince1970:[strValue doubleValue]]; 
+0

那麼這是將日期存儲到字符串中的最佳方式? 'strValue'將包含毫秒,如1359031737.046572。沒有dateformatter'全日制和日期' –

+0

@AnoopVaidya所以我們可以使用@「%lf」(long float)前綴代替@「%f」 – damithH

+0

請小心!我遇到了一種情況,使用這種方法轉換爲字符串(然後返回)導致兩個日期不會相等。可能是由於內部實施的精確問題? 由於我的代碼依賴於能夠比較相等性,所以我被迫通過這種轉換(兩種方式)運行我的傳入NSDate對象,以使它們均勻化,以便它們能夠正確比較。 – pauln