2011-07-12 10 views
1

iOSでタイムスタンプを取得してから時間を計算する最も良い方法は何ですか。 2タイムスタンプ?正確なタイムスタンプと時間の差を取得する

どのデータ型ですか? NSTimeIntervalの場合は、この値を辞書に格納してplistに書き込むことができますか?

答えて

6

Unix time is best。 NSTimeIntervalを使用すると、実際に日付を計算するのが簡単になります。それはそう、ちょうどダブルです:

辞書をシリアル化やソファーやモンゴのような文書データベースに書き込まれる
NSDate *startDate; 
NSDate *endDate; 
NSTimeInterval interval; 
// assuming start and end dates have a value 
interval = [endDate timeIntervalSince1970] - [startDate timeIntervalSince1970]; 

、私は通常のNSStringとしての時間間隔を記録:

NSDate *dateToStore; 
// assume dateToStore has a value 
NSTimeInterval aTimeInterval = [dateToStore timeIntervalSince1970]; 
NSString *aStringObject = [NSString stringwithFormat:@"%f", aTimeInterval]; 
NSDictionary *aDict = [NSDictionary dictionaryWithObject:dateAsString 
                forKey:@"aKey"]; 

その後PLISTために起こっている場合は

NSTimeInterval newTimeInterval = [[aDict valueForKey:"aKey"] doubleValue]; 
NSDate *retreivedDate = [NSDate dateWithTimeIntervalSince1970:newTimeInterval]; 

、あなただけの文字列変換をスキップすることができます:あなたはちょうどあなたが辞書オブジェクトを使用する場合、再びそれを読むことができます。

+0

なぜNSTimeIntervalをポインタとして使用しますか?私はNSTimeIntervalを意味する* –

+0

@ДенисПашков頭のアップに感謝 - 固定! – followben

2

NSTimeIntervalダブルののtypedef です。だから、ちょうどNSDateリファレンスを見て、

NSNumber *ti_num = [NSNumber numberWithDouble:aTimeInterval]; 
+0

plistに書き込む辞書にNSDateを保存するとどうなりますか? – jarryd

+0

はい。 NSDateを辞書に追加して、plistに書き込むことができます。 – EmptyStack

-2

を使用してのNSNumberとして辞書に時間間隔値を追加することができます。必要なのはそこにあります。

+1

単に何かにリンクする回答はほとんど役に立たない。この回答にはリンクがありません。これはコメントとしてもっと適切でしょう。 – Stunner

+0

リンクを提供してください – OneGuyInDc

関連する問題