前回, NSDate や, NSDateComponents ついて触れました。
NSDate, NSDateComponents でiOSの時間を制する
NSDate, NSDateComponents でiOSの時間を制する(その2)
そして, この操作した時間を今度は, 文字として出して, UILabel や self.title に入れるというのが今回の課題です。
iOS で NSDate から, 文字に置き換えるには Javaでいえば, SimpleDateFormat とかにあたる, NSDateFormatter というのがあります
早速使ってみましょう。
ex) 2012/09/09 14:53 という書式にしてみる
NSDate *date = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy/MM/dd HH:mm"];
NSString *str = [formatter stringFromDate:date];
※YYYY だと 問題があることをご指摘いただきました。(コメント参照)
ありがとうございます。 YYYY -> yyyy
NSDateFormatter を作成して, setDateFormat で書式をセットします
最後に, stringFromDate で NSString * を取り出すことができました
簡単な書式の例を出してみます
yyyy/MM/dd 2012/09/09
yyyy/MM 2012/09
HH:mm 15:56
yyyy/MM/dd HH:mm:ss 2012/09\09 14:56:42
yyyy-MM-dd 2012-09-09
setDateFormat:@"YYYY/mm/dd" という感じに大文字でYYYYを設定すると年末の数日間だけ年が正しくない値になります。正しくは小文字でyyyyですのでご注意。
返信削除詳しくは
http://takesita.seesaa.net/article/295203529.html?1349225507
知りませんでした。そんな違いがあるんですね。参考にさせていただきました。ご指摘ありがとうございます。
返信削除