requirement很简单,需要显示的时间格式满足:
* 用AM/PM表示,而不是24小时制
* 如果小时数是单位数,则不加0,例如16:30:00,应该显示 "4:30:00 PM",而不是"04:30:00"
对于下面这段代码
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"h:mm:ss a"];
NSLog([dateFormatter stringFromDate:[NSDate date]]);
我本以为可以满足我要求,但是在AIMS app里,却发现如下问题:
1. 如果我在iphone里的设置> 一般> 日期与时间 中 enable 24小时制,那么上面代码对于16:30:00是显示“16:30:00”,而不是"4:30:00 PM"
2. 即使我disable24小时制,由于我的语言设置是中文,那么上面代码对于16:30:00是显示“4:30:00 下午”,而不是"4:30:00 PM"
找到的解决方案是:对NSDateFormatter实例的locale属性进行设置,使得它强制采用“en-US”的方式
dateFormatter.locale=[[NSLocale alloc]initWithLocaleIdentifier:@"en_US"];
因此,完整代码应该是
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.locale=[[NSLocale alloc]initWithLocaleIdentifier:@"en_US"];
[dateFormatter setDateFormat:@"h:mm:ss a"];
NSLog([dateFormatter stringFromDate:[NSDate date]]);
分享到:
相关推荐
NSDate总结,NSDateFormatter总结,NSCalender总结,倒计时(60秒倒计时,天数倒计时,cell上天数倒计时)
NSDateFormatter多次创建是很耗性能的,比如创建10240次,会花费3.4秒的时间,下面介绍三种创建方法,推荐用第三种:
状态栏20键盘高度216导航44 最少2位 补0 // UIColor *color2 = [[UIColor alloc] initWithRed:0 green:1 blue:0 alpha:1]; // button setTitle:@"点我吧" forState:UIControlStateNormal]; // [button addTarget:...
单例封装NSDateFormatter,根据需求自由封装显示时间格式
NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy-MM-dd"]; [sender setTitle:[formatter stringFromDate:currentDate] forState:UIControlStateNormal]; }...
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; // ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制 [formatter setDateFormat:@YYYY-MM-dd HH:mm:ss]; //现在时间,你可以...
在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理。 例如: //实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] ...
分配该库支持所有分发方式: 可可豆iOS 静态库iOS 静态框架包管理器(自 ESLocale v1.2.1 起)从网络解析日期通常,为了解析日期字符串,可以使用类似于以下代码的内容: NSDateFormatter * ansi = [ ...
这里介绍用AFN上传本地拍摄的视频到服务端。 整体思路:拿到视频资源,先转为mp4,写进沙盒,然后上传,上传成功后要记得删除沙盒中的文件。...NSDateFormatter* formater = [[NSDateFormatter alloc
iOS中NSDateFormatter用的范围一般来说比较广泛,不过相对于处理数字而言,很少用到NSNumberFormatter,NSNumberFormatter中有很多枚举类型,会为实际开发节省时间. NSNumberFormatter可以用来处理NSString和...
前言 本文实现的效果类似于QQ空间里的好友发表的动态,会显示好友发表的...NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@yyyy-MM-dd HH:mm:ss]; NSDate *timeDa
之前写过图片上传PHP服务器,今天把接口稍微改了一下,把视频上传... NSDateFormatter *dateformatter = [[NSDateFormatter alloc]init]; [dateformatter setDateFormat:@YYYY-MM-dd-HH-mm-ss]; NSString *dateName =
-(void)saveDEBUGlog{ NSArray *paths = NSSearchPathForDirectoriesInDomains... NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@yyyy_MM_dd_HH_mm_ss];
有关DateFormatter的有用参考( NSDateFormatter )。 包括用于实时格式化任意日期和格式的表格,以及基于当前日期的预先计算的参考表。 在Linux上使用Swift 4.2构建。 要了解有关使用DateFormatter更多信息,请...
1.时间戳转字符串 ///时间戳转化为字符转0000-00-00 00:00 + (NSString *)time_... NSDateFormatter *dateFormat=[[NSDateFormatter alloc]init]; [dateFormat setDateFormat:@yyyy-MM-dd HH:mm]; NSString* strin
图片上传时必要将图片进行压缩,不然会上传失败 1.单张图上传 AFHTTPRequestOperationManager *manager = ...NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateForm
第三方数据库工具 @interface FMDatabase : NSObject { sqlite3* _db; NSString* _databasePath; BOOL _logsErrors; BOOL _crashOnErrors;... BOOL _traceExecution;... NSDateFormatter *_dateFormat; }
一, 代码。 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. ... NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
本人搜索了很多关于iOS中时间与时间戳的相互转化的资料,下面我来记录一下,有需要了解iOS中时间与时间戳的相互转化的朋友可参考。希望此文章对各位有所帮助。 //获取当前系统时间的时间戳 #pragma mark - 获取当前...