NSDateFormatter не возвращает правильную дату - PullRequest
1 голос
/ 10 ноября 2010

У меня есть следующий код, который используется для определения времени одной NSDate и текущей даты и объединения их в одну NSDate. Однако форматеры настроены правильно, но он возвращает дату, которая даже не близка к той, которая должна быть. Вот код

/* Get the current date and make a formatter to just show the date ONLY */
NSDate *currentDate = [NSDate date];
NSDateFormatter *curDateFormatter = [[NSDateFormatter alloc] init];
[curDateFormatter setDateFormat:@"MM/dd/YYYY"];

/* Create a formatter for the time ONLY */
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
[timeFormatter setDateFormat:@"hh:mm"];

/* Create a formatter for both date and time */
NSDateFormatter *combinedFormatter = [[NSDateFormatter alloc] init];
[combinedFormatter setDateFormat:@"MM/dd/YYYY hh:mm"];

NSString *combinedDateTime = [NSString stringWithFormat:@"%@ %@", [curDateFormatter stringFromDate:currentDate], [timeFormatter stringFromDate:time]];
NSDate *combinedDate = [combinedFormatter dateFromString:combinedDateTime];

/* release the formatters */
[curDateFormatter release];
[timeFormatter release];
[combinedFormatter release];

return combinedDate;

Скажите, что он делает это, когда это сообщение было опубликовано, оно должно иметь 10/10/2010 06:47, но вместо этого это как 27.12.2009 11:45. Делает это в симуляторе и устройстве.

Ответы [ 2 ]

1 голос
/ 27 сентября 2011

Вместо использования сочетанииDateFormatter, попробуйте следующее:

    NSDate *combinedDate = [NSDate dateWithNaturalLanguageString:combinedDateTime];

Это сработало для меня.

Значение для строки комбинированного даты-времени было 27.09.2011 11: 55

Значение для объекта даты комбинированной даты было 2011-09-27 11:55:00 + 0530

0 голосов
/ 10 ноября 2010
...