公開日:2014.04.07

Objective-C / 日付(NSDate)型を 文字列に変換

テクログ

Mac,iPhone,Objective-C 全て利用歴4ヶ月の新米プログラマーが送る

自分が使って役立ったmethod集

シリーズ第二弾です。

前回、文字列を日付に変換できたので逆もやりたくなるのが人情

日付型を文字列に変換します。

やっていることはフォーマットする書式を渡して、 「dateFromString」メソッドでNSDateに変換します。

今回も自前のObjective-Cクラス、common.hとcommon.mに書き足していきます。

common.h

+ (NSString *)dateToString:(NSDate *)baseDate formatString:(NSString *)formatString;

common.m


/* 日付を文字列に変換
*/
+ (NSString*)dateToString:(NSDate *)baseDate formatString:(NSString *)formatString
{
NSDateFormatter *inputDateFormatter = [[NSDateFormatter alloc] init];
//24時間表示 & iPhoneの現在の設定に合わせる
[inputDateFormatter setLocale:[NSLocale currentLocale]];
[inputDateFormatter setDateFormat:formatString];
NSString *str = [inputDateFormatter stringFromDate:baseDate];
return str;
}

呼び出し方

ViewController.h に修正はありません。

#import "ViewController.h"
#import "common.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
[super viewDidLoad];
?// Do any additional setup after loading the view, typically from a nib.
[super viewDidLoad];
?// Do any additional setup after loading the view, typically from a nib.

NSDate *now = [NSDate date]; // 当日取得
// yyyy は小文字にしないと12月末の判定がおかしくなるので注意
NSString *dateStr = [common dateToString:now formatString:@"yyyy-MM-dd EEE"];
NSLog(@"%@",dateStr);
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end

実行結果

2014-04-07 Mon

スケジュールアプリを作成していたこともあって日付の変換は大変でした

これがあれば、多少なりとも役立つのでは無いでしょうか?

本日、自社開発アプリ第一弾がリリースされました \(^^)/

・iTunes 『Team Scheduler』

https://itunes.apple.com/jp/app/id850275612

・Google play 『Team Scheduler』

https://play.google.com/store/apps/details?id=net.teamscheduler

簡単登録でみんなの状況を確認出来るアプリです。

是非ダウンロードしてご意見をお聞かせ下さい

そのほかのObjective-C関連の記事をお探しならコチラをどうぞ

この記事を書いた人

core-corp

入社年2010年

出身地東京都

業務内容インフラ

特技または趣味ドライブ

core-corpの記事一覧へ

テクログに関する記事一覧