一个日期转换时需要注意的问题
2017-08-01 17:06
239 查看
当将一个形式为@"Tue Aug 01 16:12:41 +0800 2017"的字符串转换成NSDate时,需要NSDateFormatter设置本地化信息NSLocale,否则会出现转换失败
NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
fmt.dateFormat = @"EEE MMM dd HH:mm:ss zzzz yyyy";//@"Tue Aug 01 16:12:41 +0800 2017"
NSLocale* local = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[fmt setLocale:local];
NSDate *createdDate = [fmt dateFromString:_created_at];
最后附上格式字符含义:
yy: 年的后2位
yyyy: 完整年
MM: 月,显示为1-12
MMM: 月,显示为英文月份简写,如 Jan
MMMM: 月,显示为英文月份全称,如 Janualy
dd: 日,2位数表示,如02
d: 日,1-2位显示,如 2
EEE: 简写星期几,如Sun
EEEE: 全写星期几,如Sunday
aa: 上下午,AM/PM
H: 时,24小时制,0-23
K:时,12小时制,0-11
m: 分,1-2位
mm: 分,2位
s: 秒,1-2位
ss: 秒,2位
S: 毫秒
z:显示不带前导零的时区偏移量(如 -8)。如果这是用户定义的数字格式中的唯一字符,请使用 %z。
zz:显示带前导零的时区偏移量(例如 -08)
zzz:显示完整的时区偏移量(例如 -08:00
NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
fmt.dateFormat = @"EEE MMM dd HH:mm:ss zzzz yyyy";//@"Tue Aug 01 16:12:41 +0800 2017"
NSLocale* local = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[fmt setLocale:local];
NSDate *createdDate = [fmt dateFromString:_created_at];
最后附上格式字符含义:
yy: 年的后2位
yyyy: 完整年
MM: 月,显示为1-12
MMM: 月,显示为英文月份简写,如 Jan
MMMM: 月,显示为英文月份全称,如 Janualy
dd: 日,2位数表示,如02
d: 日,1-2位显示,如 2
EEE: 简写星期几,如Sun
EEEE: 全写星期几,如Sunday
aa: 上下午,AM/PM
H: 时,24小时制,0-23
K:时,12小时制,0-11
m: 分,1-2位
mm: 分,2位
s: 秒,1-2位
ss: 秒,2位
S: 毫秒
z:显示不带前导零的时区偏移量(如 -8)。如果这是用户定义的数字格式中的唯一字符,请使用 %z。
zz:显示带前导零的时区偏移量(例如 -08)
zzz:显示完整的时区偏移量(例如 -08:00
相关文章推荐
- sql server数据库转换为access中需要注意的严重问题--access视图的一个死机‘特色’
- 使用jQuery Ajax功能的时候需要注意的一个问题
- 调用自定义event时需要注意的一个问题
- 关于java的io一个需要注意的问题
- libcurl多线程下载开发过程中需要注意的一个问题
- 使用java.lang.Integer需要注意的一个问题
- spring 容器后处理器 BeanFactoryPostProcessor 使用需要注意的一个问题
- rtmp和rtp协议转换中需要注意的一个问题。
- insert append需要注意的一个小问题
- 一个防御SQL注入攻击时需要注意的问题
- 一个使用手机时需要注意的问题
- JavaScript Tip/Trick: 动态创建Table时,在IE中需要注意的一个问题
- 利用DBCA添加RAC新增节点时需要注意的一个问题
- 使用标准C库读文件时需要注意的一个问题
- 日期转换需要注意的事项,解析日期格式的字符串
- 在SSH2开发中需要注意的一个小问题。
- jquery parent()方法在table标签中使用需要注意的一个问题
- 使用string.Format需要注意的一个性能问题
- JavaScriptSerializer类序列化日期时需要注意的问题