我有这个日期和时间格式:
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";
但是当我更改格式时,我最终得到一个null。例如:
formatter.dateFormat = @"hh:mm tt MM-dd-yyyy";
date = [formatter stringFromDate:formattedDate];
日期将为空。我想把最终结果放到NSString中。如果时间和日期可以作为单独的属性出现,那将是很好的,所以我可以安排它们,但我喜欢。关于如何更改格式的任何想法?
答案 0 :(得分:2)
我认为您的格式化字符串是问题所在。您应该只使用UTS#35 Date Format Patterns中表格中找到的字符。我尝试了您的代码,当时间hh:mm
正确显示时,格式化停在tt
- 而不是在表格中!
如果您真的希望格式字符串中的字符不在表格中,您可以将它们转义为hh 'o''clock' a, zzzz
- 生成格式如“下午12点,太平洋夏令时”。
答案 1 :(得分:0)
如果时间和日期可以作为单独的属性出现,那将是很好的,所以我可以按照我喜欢的方式安排它们。关于如何更改格式的任何想法?
你有事情倒退。如果这是要向用户显示的日期/时间,则需要向其显示用户想要它的方式,而不是您想要的方式。例如,美国以外的大多数人都会被MM-dd-yyyy混淆,特别是如果当天小于13,请考虑使用-setDateStyle:和-setTimeStyle:。这样,显示字符串将按照用户的期望出现。