У меня есть этот формат даты и времени:
2010-05-19 07:53:30
и хотел бы изменить его на:
Wednesday @ 7:53PM 5/19/2010
Я делаю это, которое получает текущий формат:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
но когда я изменяю формат, я заканчиваю с пустым указателем. Например:
formatter.dateFormat = @"hh:mm tt MM-dd-yyyy";
date = [formatter stringFromDate:formattedDate];
дата будет пустой. Я хочу поместить конечный результат в NSString. Было бы хорошо, если время и дата могло бы выйти как раздельное имущество, таким образом, я могу расположить их однако, мне нравится. Какие-либо идеи о том, как я могу изменить форматирование?
Я думаю, что проблема в вашей строке форматирования. Вы должны использовать только символы, которые вы найдете в таблице в UTS#35 Date Format Patterns. Я попробовал ваш код, и хотя время hh:mm
отображается правильно, форматирование останавливается на tt
- не в таблице!
Если вам действительно нужны символы в строке формата, которых нет в таблице, вы можете экранировать их, например hh 'o' clock' a, zzzz
- получается формат типа "12 o'clock PM, Pacific Daylight Time".
Было бы неплохо, если бы время и дата отображались как отдельные свойства, чтобы я мог расположить их как угодно. Есть идеи, как изменить форматирование?
У вас все наоборот. Если это дата / время, которые будут отображаться пользователю, вам необходимо представить их так, как этого хочет пользователь , а не так, как вы этого хотите. Например, большинство людей за пределами США будут сбиты с толку MM-dd-yyyy, особенно если день меньше 13. Рассмотрите возможность использования -setDateStyle: и -setTimeStyle: . Таким образом, отображаемая строка будет выглядеть так, как ожидал пользователь.