[英]always use 24-hour format
我正在以24小时格式捕获日期,在配置为24小时的设备上可以正常工作,但是如果设备添加了我的12点或下午,则不能很好地为我服务。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"ddMMYYYYHHmmss"];
NSDate *hoy = [NSDate date];
NSString *fecha = [format stringFromDate:hoy];
[defaults setObject:fecha forKey:@"ValorHoy"];
[defaults synchronize];
NSDate *fechaGuardada = (NSDate*)[defaults objectForKey:@"ValorHoy"];
我始终需要在某些设备上以这种格式ddMMyyyyHHmmss-(010220141405)生成日期,但是我得到了(010220141405 pm)无法为我服务,服务器无法识别的原因,因为无论采用哪种时间格式的设备,am或pm都会永远关闭。
您必须再次从该NSString
创建一个NSDate
,只需将其强制为NSDate
。
使用NSDateFormatter
从NSDate
转换为NSString
,反之亦然。
还请记住,初始化NSDateFormatter
很大,因此,如果NSDateFormatter
很多时间(例如,从服务器解析到/到服务器的大量数据),则要比对每种格式使用一个格式化器进行缓存。
不要在每个循环中使用相同格式创建NSDateFormatter
。
// Replace this
NSDate *fechaGuardada = (NSDate*)[defaults objectForKey:@"ValorHoy"];
// With this
NSDate *fechaGuardada = [format dateFromString:[defaults objectForKey:@"ValorHoy"]];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.