Objective-CでUNIX時間を取得・変換
Objective-Cで現在のエポック値を取得し、UNIX秒とUTCの日時を相互変換するコードをコピーできます。
現在のタイムスタンプを取得
#import <Foundation/Foundation.h>
#include <math.h>
int main(void) {
@autoreleasepool {
printf("%lld\n", (long long)floor(NSDate.date.timeIntervalSince1970));
}
}タイムスタンプを日時に
#import <Foundation/Foundation.h>
int main(void) {
@autoreleasepool {
NSDate *date = [NSDate dateWithTimeIntervalSince1970:1700000000];
NSISO8601DateFormatter *format = [NSISO8601DateFormatter new];
puts([format stringFromDate:date].UTF8String);
}
}日時をタイムスタンプに
#import <Foundation/Foundation.h>
#include <math.h>
int main(void) {
@autoreleasepool {
NSISO8601DateFormatter *format = [NSISO8601DateFormatter new];
NSDate *date = [format dateFromString:@"2023-11-14T22:13:20Z"];
printf("%lld\n", (long long)floor(date.timeIntervalSince1970));
}
}現在のUNIX時間
秒—
ミリ秒—
- UTC
- —
- 自分のタイムゾーン
- —
無料で使えます。入力内容はこのブラウザ内で処理されます。
使い方
- 最初の例をObjective-Cの環境で実行し、現在のUNIX秒を取得します。
- 2つ目の例で1700000000をUTCの日時に変換します。
- 最後の例でその日時を再びUNIX秒に戻します。
UNIX秒にはNSDateのtimeIntervalSince1970を使います。reference date APIの基準は2001年です。NSISO8601DateFormatterでUTCの表記を読み書きできます。