0

ユーザーがボタンを選択したときと、ボタンの選択を解除したときの正確な日時を取得しようとしています。

私はこれまでNSDatedateWithTimeIntervalSince1970を使用してきました。これにより、ミリ秒(floats)が得られます。これは、NSDateに変換してから文字列に変換するのが簡単です。しかし、私はこれが私のiPhone 4Sのリアルタイムと比較して、最大1分または2分の違いで絶対時間を与えないことに何度か気づきました。

ここでミリ秒単位のfloatを使用する理由は、さまざまなメソッドに簡単に送信できるため、NSNumberのCore Dataに保存できるため、後で簡単に計算できるためです。

CACurrentMediaTimeの使用を提案する投稿をここで見つけましたが、日付とその日付の文字列に変換できませんでした。

double CurrentTime = CACurrentMediaTime();

NSDate dateWithTimeIntervalSinceNowは、シミュレーターの時計が実際に私のMacにある時計よりも約35〜45分進んでいることを除いて、正しい日付を示します。

現在の変換は次のようになります。

NSDate *conversion = [NSDate dateWithTimeIntervalSince1970:startTimeInMiliSeconds];
NSDateFormatter *formatter;
NSString        *dateString;
formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd-MM-yyyy HH:mm"];
dateString = [formatter stringFromDate:conversion];

アイデア/参考資料はありますか?

4

1 に答える 1

0

sをCoreDataに保存NSDateし、変換プロセス全体を省略してみませんか?NSDatesは、Core-Dataエントリの自然なデータ型です。

于 2012-06-29T17:47:56.490 に答える