カテゴリー別アーカイブ: NSDateFormatter

NSDateFormatter 日付・時刻を文字列にして取得する

現在の日付やデータの更新日時などを文字列にして表示したい場合は NSDateFormatter が利用できます。

NSDateFormatter の setDateFormat でどのような形式の文字列にするのかを指定した後に、日付・時刻を表す NSDate のインスタンスを渡して文字列にします。

サンプルは以下の通りです。

(サンプルでは現在の時刻を取得して文字列に変換しています)

年/月/日 時:分:秒 のサンプル

- (void)sampleNSDateFormatterYYYYMMDDHHMMSS
{
    NSDate *date = [NSDate date] ; // 現在時刻
    
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init] ;
    [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm:ss"] ;
    NSString *dateString = [dateFormatter stringFromDate:date] ;
    
    [self outputResult:dateString] ; // 結果出力用
}

年/月/日 時:分:秒 の出力結果

出力はこんな感じになります。

NSDateFormatter_1_236

月を Jan Feb などの3文字の英語表記にした文字列を取得するサンプル

月を数字で出すときは MM を指定しましたが、3文字の英語表記の場合は MMM を指定します。

- (void)sampleNSDateFormatter3LettersMonth
{
    NSDate *date = [NSDate date] ; // 現在時刻
    
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init] ;
    [dateFormatter setDateFormat:@"MMM. dd,yyyy"] ;
    NSString *dateString = [dateFormatter stringFromDate:date] ;
    
    [self outputResult:dateString] ; // 結果出力用
}

月を Jan Feb などの3文字の英語表記にした文字列の出力結果

NSDateFormatter_1_456

月を January February などの英語表記にした文字列を取得するサンプル

月を3文字の英語表記にする場合は MMM を指定しましたが、単語全部を表示する場合は MMMM を指定します。

- (void)sampleNSDateFormatterFullLettersMonth
{
    NSDate *date = [NSDate date] ; // 現在時刻
    
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init] ;
    [dateFormatter setDateFormat:@"MMMM. dd,yyyy"] ;
    NSString *dateString = [dateFormatter stringFromDate:date] ;
    
    [self outputResult:dateString] ; // 結果出力用
}

月を January February などの英語表記にした文字列の出力結果

NSDateFormatter_1_676

 

タイムゾーン表記を含めた文字列を取得するサンプル

タイムゾーン(標準時からの時差)を含めた文字列を取得する場合は z を指定します。

- (void)sampleNSDateFormatterYYYYMMDDHHMMSSWithTimezone
{
    NSDate *date = [NSDate date] ; // 現在時刻
    
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init] ;
    [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm:ss z"] ;
    NSString *dateString = [dateFormatter stringFromDate:date] ;
    
    [self outputResult:dateString] ; // 結果出力用
}

タイムゾーン表記を含めた文字列の出力結果

NSDateFormatter_1_896