のような文字列形式の日付があります30-11-2012
。01-12-2012
横にある日付を文字列形式でもう一度入力したいと思います。それを取得する方法はありますか?
質問する
2643 次
3 に答える
7
最適な互換性を得るには、NSCalendar を使用する必要があります
NSDate *today = [NSDate dateWithNaturalLanguageString:@"2011-11-30"];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *dayComponent = [NSDateComponents new];
dayComponent.day = 1;
today = [calendar dateByAddingComponents:dayComponent toDate:today options:0];
//2011-12-01 12:00:00 +0000
于 2012-11-28T06:05:54.370 に答える
4
名前を忘れた人から回答を受け取りました。彼/彼女の回答を受け入れようとしていましたが、回答を受け入れるをクリックすると、投稿ベースが削除されたことがわかりました。
その匿名の人の答えは以下のとおりです
NSString *dateString = @"22-11-2012";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:dateString];
NSDateComponents *components= [[NSDateComponents alloc] init];
[components setDay:1];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *dateIncremented= [calendar dateByAddingComponents:components toDate:dateFromString options:0];
NSDateFormatter *myDateFormatter = [[NSDateFormatter alloc] init];
[myDateFormatter setDateFormat:@"dd-MM-yyyy"];
NSString *stringFromDate = [myDateFormatter stringFromDate:dateIncremented];
NSLog(@"%@", stringFromDate);
最後に、その匿名の人に本当に感謝したいと思います。これはそれほどトリッキーではなかったことを知っていますが、これは私を大いに助けてくれました。匿名のヘルパーに感謝します。
于 2012-11-28T06:59:26.753 に答える