时间字符串string转换为时间格式nsdate

废话不多说直接贴代码:

一、字符串转时间格式

    //字符串转换为日期
    // 实例化NSDateFormatter
    NSDateFormatter *inputFormatter= [[NSDateFormatter alloc] init];
    //使用en_US才可识别缩写月份
    [inputFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
    //设置字符串对应的时间格式 
    [inputFormatter setDateFormat:@"MMM d, yyyy hh:mm:ss aa"];
    NSString *string = @"Apr 14, 2017 12:00:00 AM";
    NSDate *inputDate = [inputFormatter dateFromString:dateString];

这里有几点需要注意一下,en_US为美国时间,但只有设置为en_US才可以识别缩写的月份,中国时间为zh_CN
还有这里12小时方式显示,若有AM或PM,使用的应为aa而不是tt!!!网上很多都写的tt
如果时间格式设置与字符串不对应,会导致nsdate为空,也就读不出时间,注意一一对应

二、时间格式转字符串



    NSDateFormatter *outputFormatter= [[NSDateFormatter alloc] init];
    //获取当地的时区	    
    [outputFormatter setLocale:[NSLocale currentLocale]];
    //设置要输出的时间格式 
    [outputFormatter setDateFormat:@"yyyy.M.d"];
    NSString *str= [outputFormatter stringFromDate:inputDate];

另附时间格式对应的代码:
iOS-NSDateFormatter 格式说明:

G: 公元时代,例如AD公元
    yy: 年的后2位
    yyyy: 完整年
    MM: 月,显示为1-12
    MMM: 月,显示为英文月份简写,如 Jan
    MMMM: 月,显示为英文月份全称,如 Janualy
    dd: 日,2位数表示,如02
    d: 日,1-2位显示,如 2
    EEE: 简写星期几,如Sun
    EEEE: 全写星期几,如Sunday
    aa: 上下午,AM/PM
    HH: 时,24小时制,0-23
    hh:时,12小时制,0-11
    m: 分,1-2位
    mm: 分,2位
    s: 秒,1-2位
    ss: 秒,2位
    S: 毫秒

常用日期结构:
yyyy-MM-dd HH:mm:ss.SSS
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd
MM dd yyyy 



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值