私は、このコードでは "YYYY-MM-DD HH:mm:SS"の日時であるNSStringを持っていて、私はドイツ語のスタイルのようにそれを嫌っています: "DD.MM. YYY HH:mm:DD "IOSでの日時/文字列形式
解決方法は?
私は、このコードでは "YYYY-MM-DD HH:mm:SS"の日時であるNSStringを持っていて、私はドイツ語のスタイルのようにそれを嫌っています: "DD.MM. YYY HH:mm:DD "IOSでの日時/文字列形式
解決方法は?
別のフォーマットに1つの日付列を変換する例:
NSStringの* currentDateString = @ "2012年4月8日8時16分00秒"。
NSLog(@"currentDateString: %@", currentDateString);
NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
[dateFormater setDateFormat:@"MM-DD-yyyy HH:mm:ss"];
NSDate *currentDate = [dateFormater dateFromString:currentDateString];
NSLog(@"currentDate: %@", currentDate);
[dateFormater setDateFormat:@"yyyy-MM-DD HH:mm:ss"];
NSString *convertedDateString = [dateFormater stringFromDate:currentDate];
NSLog(@"convertedDateString: %@", convertedDateString);
[dateFormater setDateFormat:@"DD.MM.yyy HH:mm:DD"];
NSString *germanDateString = [dateFormater stringFromDate:currentDate];
NSLog(@"germanDateString: %@", germanDateString);
のNSLog出力:
currentDateString:2012年4月8日午前8時16分00秒
CURRENTDATE:2012-04-01 12時16分00秒0000
convertedDateString:2012-04-92 08 :16:00
germanDateString:92.04.2012 08:16:92
月が04から01に変更されるのはなぜですか? – nithinreddy
アップルバグID#12993321 – zaph
ああ、これは固定ですか、それとも固定されようとしていますか?何か案が?この問題を解決するために私たちは何をしますか – nithinreddy
NSString* input = @"2012-04-08 13:05:49";
NSString* year = [input substringWithRange: NSMakeRange(0, 4)];
NSString* month = [input substringWithRange: NSMakeRange(5, 2)];
NSString* day = [input substringWithRange: NSMakeRange(8, 2)];
NSString* time = [input substringWithRange: NSMakeRange(11, 8)];
NSString* output = [NSString stringWithFormat:@"%@.%@.%@ %@",day,month,year,time];
それを解析して文字を囲むだけでなく、フォーマットする方がはるかに優れたIMOです。他のものとは別に、価値が合理的であることを検証します。 –
NSDateFormatterを使用してNSDateオブジェクトに変換し、その後、フォーマッタを使用して文字列をエクスポートします。 dateFromString & stringFromDateに関するドキュメントに従ってください。
(https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/ Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html)、Googleはこのトピックに関する多くの情報を持っています。 – GregularExpressions