博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS将字符串转换为日期时间格式
阅读量:1855 次
发布时间:2019-04-26

本文共 1922 字,大约阅读时间需要 6 分钟。

1、如何如何将一个字符串如“ 20110826134106”装化为任意的日期时间格式,下面列举两种类型:

   NSString* string = @"20110826134106";

    NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease];

    [inputFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];

    [inputFormatter setDateFormat:@"yyyyMMddHHmmss"];

    NSDate* inputDate = [inputFormatter dateFromString:string];

    NSLog(@"date = %@", inputDate);

    

    NSDateFormatter *outputFormatter = [[[NSDateFormatter alloc] init] autorelease]; 

    [outputFormatter setLocale:[NSLocale currentLocale]];

    [outputFormatter setDateFormat:@"yyyy年MM月dd日 HH时mm分ss秒"];

    NSString *str = [outputFormatter stringFromDate:inputDate];

    NSLog(@"testDate:%@", str);

两次打印的结果为:

    date = 2011-08-26 05:41:06 +0000

    testDate:2011年08月26日 13时41分06秒


说明:上面的时间是美国时间,下面的没有设置


   NSString* string = @"Wed, 05 May 2011 10:50:00 +0800";

    NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease];

    [inputFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];

    [inputFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss Z"];

    NSDate* inputDate = [inputFormatter dateFromString:string];

    NSLog(@"date = %@", inputDate);

PS:



2、以前一直为这个事情纠结,无奈只能拼接字符串:


NSString *str=@"20120403000000";


NSString *dateStr=[NSString stringWithFormat:@"有效期至:%@年%@月%@日",

                           [str substringWithRange:NSMakeRange(0, 4)],

                           [str substringWithRange:NSMakeRange(4, 2)],

                           [str substringWithRange:NSMakeRange(6, 2)]];

这个方法笨,可是没办法,查了好多资料,都没明白,今天突然明白了,呵呵,只要把那个[inputFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss Z"];@“”里面的格式转化为你字符串的格式一切就OK了,不知道我说明白了吗

3、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

    H: 时,24小时制,0-23

    K:时,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 

转载地址:http://twlyf.baihongyu.com/

你可能感兴趣的文章
你如何制定一份可实施的2019年大数据学习计划? ...
查看>>
阿里云RPA(机器人流程自动化)干货系列之六:客户端安装及激活 ...
查看>>
[设计] 地铁站点主题色的配色
查看>>
Android——实现m3u8视频缓存
查看>>
Android——各种动画Drawable
查看>>
Android——仿美团商品详情页折叠效果
查看>>
Android——ListView中getChildAt(index)的使用注意事项
查看>>
Gradle for Android(一)——初识Gradle
查看>>
Gradle for Android(六)——测试
查看>>
Gradle for Android(三)——依赖管理(一)
查看>>
Gradle for Android(四)——依赖冲突解决
查看>>
Gradle for Android(三)——依赖管理(二)
查看>>
Gradle for Android(五)——构建变体
查看>>
Gradle for Android(二)——build.gradle基本配置
查看>>
Gradle for Android(七)——一些使用技巧
查看>>
Android Bugs——Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside
查看>>
Android——6.0 Scrollview嵌套Recyclerview导致显示不全,滑动卡顿问题解决
查看>>
Android Bugs——RecyclerView.Adapter java.lang.IllegalStateException: The specified child already has
查看>>
Materail Design 入门(六)—— TabLayout之设置自定义指示器宽度(3)
查看>>
Android内存优化——使用SparseArray和ArrayMap代替HashMap
查看>>