IOS-时间与字符串互相转换

有时会遇到这样的问题,需要把时间和时间戳互相转换

比如把当前时间转换成 “20140716155436”这样的格式

或者是把“20140716155436”转换成“2014-07-16 15:54:36

首先来第一个:

当前时间转换成 “20140716155436”这样的格式

 ///

    //获取当前时间

    NSDate * today = [NSDate date];

    NSLog(@"%@",today);

打印出来是“2014-07-16 07:54:36 +0000”

很奇怪?现在明明是2014-07-16 15:54:36啊

因为存在不同时区,系统默认格林尼治时间

所以就要转换时间格式了

    //转换时间格式

    NSDateFormatter *df = [[NSDateFormatter alloc] init];//格式化

    [df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

    NSString * s1 = [df stringFromDate:today];

    NSLog(@" s1s1s1s%@",s1);

打印出来是“2014-07-16 15:54:36”

现在已经获取到当前的时间

这样还没有完呢,需要转换成一个字符串,类似“20140716052021”的时间戳


    NSDate * date = [df dateFromString:s1];

    //转换时间格式

    NSDateFormatter *df2 = [[NSDateFormatter alloc] init];//格式化

    [df2 setDateFormat:@"yyyyMMddHHmmss"];

    [df2 setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]];

    NSLog(@"%@",[df2 stringFromDate:date]);

打印出来是“20140716155436”

接下来就是第二个:

把“20140716155436”转换成“2014-07-16 15:54:36

首先要把20140716155436转换成时间格式

    //转换时间格式

    NSDateFormatter *df = [[NSDateFormatter alloc] init];//格式化

    [df setDateFormat:@"yyyyMMddHHmmss"];

    [df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"] ];

    NSDate *date =[[NSDate alloc]init];

    date =[df dateFromString:bill_timeStr];

    str = [NSString stringWithFormat:@"%@",date];

str的结果是“2014-07-16 07:54:36 +0000

这时候就需要再转一次

    //

    NSDateFormatter * df2 = [[NSDateFormatter alloc] init];

    [df2 setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

    NSString * str1 = [df2 stringFromDate:date];

 str1的结果是“2014-07-16 15:54:36

ok,大功告成  


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值