我可以使用NSDateFormatter将此日期字符串转换为NSDate吗?
我有这个字符串...
2010-08-24T16:00:00-05:00
我想从中提取时间部分(即16:00)并将其转换为相当于12小时的时间(即下午04:00)。 我试图使用NSDateFormatter来实现这一点,但它不工作...
NSDateFormatter* dateformatter = [[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"hh:mm a"];
NSDate *date1 = [dateformatter dateFromString:[listOfTimes objectAtIndex:0]];
[dateformatter release];
我可以使用这种日期格式的NSDateFormatter吗? 如果不是,我如何提取时间并将其转换为相当于12小时的时间?
谢谢!
问题与解析冒号有关。 我问了同样的问题,解决方案在这里:如何解析日期字符串到iOS中的NSDate对象?
我认为你应该能够做到以下几点。
// create the date formatter object
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
NSDate* date = [formatter dateFromString:dateString];
// set up the new date format
[formatter setDateFormat:@"hh:mm:ss"];
NSString *twelveHourTime = [formatter stringFromDate:date];
[formatter release];
更新:修复了dateFormatter字符串格式。 我有下面这行,但Z似乎是没有必要的。 时区总是把我搞砸。 : - /
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
这个答案需要更新。 从iOS 10开始,系统提供了NSISO8601DateFormatter可用于此特定格式。
链接地址: http://www.djcxy.com/p/35173.html上一篇: Can I use NSDateFormatter to convert this date string to an NSDate?
下一篇: Date format needed to work 'order by date' query in iOS