Objective-CでUNIX時間を扱うための方法
今日はUNIX時間を扱う方法について紹介します。UNIX時間とはUTCでの1970/01/01 00:00:00からの経過秒数を表したものです。
世界規模でアプリを開発するなら、UTCで時間を扱う必要があります。また、2つの時刻の差を求めるときは引き算をすれば良いので、時間の演算が非常に簡単にできることもメリットです。
すなわち、知っておいて損はないってことです。
では、Objective-cでのUNIX時間の扱い方について早速説明しましょう。
まずは、NSDate型をUNIX時間に変換する処理です。
1 2 3 4 5 6 |
|
次に、UNIX時間をNSDate型に変換する処理です。
1 2 3 4 5 6 |
|
これらの2つのメソッドを用いて、試しに現在時間のログを出してみましょう。
下記はボタンをTouch Downしたときの処理です。
1 2 3 4 5 6 7 8 |
|
このログは下記のようになります。
2014-04-16 23:33:27.827 timestamp[22795:907] now: 2014-04-16 14:33:27 +0000
2014-04-16 23:33:27.828 timestamp[22795:907] unixtime: 1397658807.824172
2014-04-16 23:33:27.830 timestamp[22795:907] now2: 2014-04-16 14:33:27 +0000
きちんと変換処理が実行されていることがわかります。
また、unixtimeは1397658807.824172のように小数点を伴って出力されます。単位は[秒]なのでマイクロ秒まで表示されていることになります。
もし、ミリ秒やマイクロ秒単位で時間を管理したいということであれば、くれぐれも小数点以下は切り捨て, 繰り上げ, 四捨五入などしないように!!
ということで本日はここまで。