将特殊格式的NSSring转换成NSDate

来源:互联网 发布:中华大字典软件 编辑:程序博客网 时间:2024/05/18 14:25

普通的转换:

  NSString *dateStr = @"2014-04-15 10:25:25";
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        [formatter setDateFormat:@"MM dd, yyyy KK:mm:ss aa"];
        NSDate *date = [formatter dateFromString:dateStr];

若要将特殊格式的字符串转换成NSDate,如:Apr 25, 2014 2:23:10 PM

只需设置formatter格式为@”MM dd,yyyy KK:mm:ss aa“即可


NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy-MM-dd_HH-mm-ss"];//设置格式化样式
    NSString *formattedTime = [formatter stringFromDate:[NSDate date]];
      


一些特殊格式如下:

  1. G: 公元时代,例如AD公元  
  2. yy: 年的后2位  
  3. yyyy: 完整年  
  4. MM: 月,显示为1-12  
  5. MMM: 月,显示为英文月份简写,如 Jan  
  6. MMMM: 月,显示为英文月份全称,如 Janualy  
  7. dd: 日,2位数表示,如02  
  8. d: 日,1-2位显示,如 2  
  9. EEE: 简写星期几,如Sun  
  10. EEEE: 全写星期几,如Sunday  
  11. aa: 上下午,AM/PM  
  12. HH: 时,24小时制,0-23  
  13. KK:时,12小时制,0-11  
  14. m: 分,1-2位  
  15. mm: 分,2位  
  16. s: 秒,1-2位  
  17. ss: 秒,2位  
  18. S: 毫秒  
  19. Z:GMT  


有时会遇到所得时间与实际时间相差几个小时,原因是时区不对,添加[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC+8"]];即可

0 0
原创粉丝点击