我知道这是一个重复的问题,但是在 stackoverflow 和 google 上搜索了许多类似的问题后,没有一个解决方案对我有用。
我正在尝试将从数据库收到的日期转换为字符串格式以在 iPhone 应用程序中显示。
我正在按以下方式将日期转换为字符串,但是[dateFormat stringFromDate:beginDate]
总是返回零。
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd hh:mm a"];
NSString *dateString = [dateFormat stringFromDate:beginDate];
NSLog(@"date: %@", dateString);
[dateFormat release];
服务器收到的 NSDate 格式如下:
2012-05-23 13:06:51.394+1000
我想要它
May 25 13:06 PM
您需要首先将 beginDate 字符串转换为实际的 NSDate,然后执行以下操作:
NSString *beginDateString = [arr_data objectAtIndex:1];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSSZ"];
NSDate *beginDate = [formatter dateFromString:beginDateString];
[formatter setDateFormat:@"MMM dd hh:mm a"];
NSString *dateString = [formatter stringFromDate:beginDate];
NSLog(@"date: %@", dateString);
请注意,您在问题中说您希望它输出May 25 13:06 PM
但它实际上会输出May 25 01:06 PM
。 (13:06 将使用 24 小时时间而不是 12 小时时间,并且不需要 am/pm。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)