我需要来自NSDate的NSString,我只需要小时,分钟和秒。 如果是1:40:30 PM我需要字符串为“134030”
NSDateFormatter *userTimeFormatter = [[NSDateFormatter alloc] init];
[userTimeFormatter setDateFormat:@"HHmmss"];
这不起作用。如果我使用格式hhmmss它似乎工作但它不是24小时格式。 有什么建议? 可能与locale有关吗?
答案 0 :(得分:1)
此行为的原因是Locale,设置正确的Locale,将NSDateFormatter的本地设置为en_US_POSIX将解决此问题。它适用于24小时和12小时格式。
NSDateFormatter *userTimeFormatter = [[NSDateFormatter alloc] init];
[userTimeFormatter setDateFormat:@"HHmmss"];
NSLocale *en_US_POSIX = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[userTimeFormatter setLocale:en_US_POSIX];
NSLog(@"time:%@",[userTimeFormatter stringFromDate:userTime]);
答案 1 :(得分:0)
试过这个
NSDateFormatter *userTimeFormatter = [[NSDateFormatter alloc] init];
[userTimeFormatter setDateFormat:@"HHmmss"];
NSLog(@"%@",[userTimeFormatter stringFromDate:[NSDate date]]);
它工作正常。
答案 2 :(得分:0)
NSDateFormatter *dtFormatter=[[NSDateFormatter alloc]init];
[dtFormatter setDateFormat:@"hh:mm:ss a"];
NSDate *date=[dtFormatter dateFromString:"1:40:30 PM"];
[dtFormatter setDateFormat:@"HHmmss"];
NSString *dateString=[dtFormatter stringFromDate:date];