これは簡単かもしれません。探しましたが、まだ見つかりません。
NSString @"20100216190205" を @"yyyy-MM-dd HH:mm:ss" 形式の NSString に変換するにはどうすればよいですか。
例: @"2010-02-16 19:02:05"
編集: 他の状況では、NSDateFormatter をより一般的に使用することを避けたかったのです。
これは簡単かもしれません。探しましたが、まだ見つかりません。
NSString @"20100216190205" を @"yyyy-MM-dd HH:mm:ss" 形式の NSString に変換するにはどうすればよいですか。
例: @"2010-02-16 19:02:05"
編集: 他の状況では、NSDateFormatter をより一般的に使用することを避けたかったのです。
各部分文字列を抽出し、整数 ( -intValue
) に変換してから、 を使用NSDateComponents
してこれらを日付に変換できます。そして、NSDateFormatter を使用するよりもはるかに面倒です。
yyyyMMddHHmmss
あなたの場合、呼び出す前に-dateFromString:
NSDateFormatterのフォーマットを設定する必要があります。
[formatter setDateFormat:@"yyyyMMddHHmmss"];
NSDate *date = [formatter dateFromString:@"20100216190205"];
....
formatter
例にある文字列を解析するには、の形式を yyyyMMddHHmmss に設定する必要があります。新しいフォーマッターを作成するか、元のフォーマッターのフォーマットを変更して、より視覚的に魅力的なフォーマットを組み込む必要があります ( @"yyyy-MM-dd HH:mm:ss"
)。
純粋にコードを書く練習として:
NSString* digits = @"20100216190205"; // this is probably a parameter somewhere
NSMutableString* formatted = [digits mutableCopy];
[formatted insertString:@":" atIndex:12];
[formatted insertString:@":" atIndex:10];
[formatted insertString:@" " atIndex:8];
[formatted insertString:@"-" atIndex:6];
[formatted insertString:@"-" atIndex:4];
NSLog(@"original string: %@ -> formatted: %@", digits, formatted);
しかし、私は同意します。気楽に行って、これには日付フォーマッタを使用してください。