使用NSDateFormatter将日期从一种格式更改为另一种格式 [英] Change date from one format to another using NSDateFormatter

查看:165
本文介绍了使用NSDateFormatter将日期从一种格式更改为另一种格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何转换NSDateFormatted字符串 2014年4月18日上午10:34:19 转换为 2014-04-18T17:34:19 ?我尝试过以下但它返回 nil NSDate 指针。
这里的任何人都可以帮助我。
谢谢。

How can I convert NSDateFormatted string Apr 18, 2014 10:34:19 AM to 2014-04-18T17:34:19? I have tried the below but it returns a nil NSDate pointer. Can anyone here please help me out. Thanks.

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter  setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss"];
NSDate *date = [dateFormatter dateFromString:@"Apr 18, 2014 10:34:19 AM"];  // Error nil
NSLog(@"date: %@", date);


推荐答案

您需要使用2个日期格式器,一个用于解析另一个用于显示:

You need to use 2 date formatters, one for parsing the other for displaying:

NSDateFormatter *parsingFormatter = [NSDateFormatter new];
[parsingFormatter setDateFormat:@"MMM dd, yyyy hh:mm:ss a"];
NSDate *date = [parsingFormatter dateFromString:@"Apr 18, 2014 10:34:19 AM"];
NSLog(@"date: %@", date);

NSDateFormatter *displayingFormatter = [NSDateFormatter new];
[displayingFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss"];
NSString *display = [displayingFormatter stringFromDate:date];
NSLog(@"display: %@", display); // 2014-04-18T17:34:19

这篇关于使用NSDateFormatter将日期从一种格式更改为另一种格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆