スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Tag:スポンサー広告 

【Swift】現在の時間の年、月、日をそれぞれIntで扱う

前回、現在の時間を好きなフォーマットで取得するというエントリを書いたのですが、今回はSwiftで現在の時間の年、月、日をIntで扱いたい場合の方法を紹介します。

現在の時刻をIntで扱う

NSDateを使って現在の時刻を取得するのは前回と同じなんですが、NSCalendar.currentCalendar()と併せて利用することで現在の時刻をIntで扱えるようになります。

昨日の日付、1時間前などの時刻を扱う

ここで昨日の日付を取得しようと思った時、上記の例でいうところのcomponents.dayから-1すればいいのでは?と思いがちですが、それは良くないですね。「昨日」が「先月」である場合や年越しのタイミングで「去年」である場合など日付がずれてしまうバグを生みかねません。 そういったことを気にした計算をアプリの開発者が実装するのはちょっと非効率な気がしますよね。 大人しくNSCalendarにお任せしましょう。 dateByAddingUnitメソッドが解決してくれます。上記の例だと単位が「日 = Day」で-1しているので昨日を表すことになります。 こうすることで「昨日」が月や年をまたぐ場合でも安心して日付のデータをIntで扱うことができます。 この単位の部分を「時 = Hour」にすることももちろん可能で この様にすれば1時間前の時間を取得することができます。引数などをいろいろいじってみるといろんなパターンに対応できそうですね。 以上Swiftで時間のデータをIntで扱う方法の紹介でした。
スポンサーサイト
テーマ : プログラミング
ジャンル : コンピュータ

Tag:Swift  Trackback:0 comment:0 

Comment

comment form
(編集・削除用):
管理者にだけ表示を許可
プロフィール

6rats

Author:6rats
こんにちは、ITベンチャーで働くエンジニアです
主に自分の周りで起きた技術的なことをメモとして書き残して行きます。
Android以外にもRuby/Ruby on RailsやFuelPHPなどなどたまにやります。基本的なスタンスとしては興味があるもしくは必要になったらいろんなことにチャレンジします。
最近はiOSアプリ開発を始めています。

購読
follow us in feedly
個人プロダクト

Androidアプリ

Twitterクライアント

Webアプリケーション

EcPriceWatch(Amazon価格の推移を計測、最安値を知らせるサービス)
Google AdSense
ブログ村
にほんブログ村 IT技術ブログへ
にほんブログ村
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。