NSDateFormatter中的AM / PM问题 [英] AM/PM issue in NSDateFormatter

查看:105
本文介绍了NSDateFormatter中的AM / PM问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在下面编写代码,将一种日期格式转换为另一种日期格式。
但AM字符串有效,PM无效。
请帮忙 -

I write below code to convert one date format into another dateformat. But AM string works and PM did not work . Please help-

dateTime=@"2013-01-24 18:30 PM";
//dateTime=@"2013-01-24 06:30 AM";
NSDateFormatter *dtFormatter=[[NSDateFormatter alloc]init];
[dtFormatter setDateFormat:@"yyyy-MM-dd hh:mm a"];
NSDate *AptDate=[dtFormatter dateFromString:dateTime];
[dtFormatter setDateFormat:@"MMM dd,yyyy hh:mm a"];
NSString *strDate=[dtFormatter stringFromDate:AptDate];

如果我使用PM格式,我将AptDate变量设为null

Here I get AptDate variable as null if i use PM format

推荐答案

您需要使用 HH 代替 hh ,因为你的时间是24小时格式:

You need to use HH in place of hh, as your time is in 24 hour format:

[dtFormatter setDateFormat:@"yyyy-MM-dd HH:mm a"];






您的完整代码将如下:


Your full code will go as:

*dateTime=@"2013-01-24 18:30 PM";
//dateTime=@"2013-01-24 06:30 AM";
NSDateFormatter *dtFormatter=[[NSDateFormatter alloc]init];
[dtFormatter setDateFormat:@"yyyy-MM-dd HH:mm a"];
NSDate *AptDate=[dtFormatter dateFromString:dateTime];
[dtFormatter setDateFormat:@"MMM dd,yyyy hh:mm a"];
NSString *strDate=[dtFormatter stringFromDate:AptDate];

NSLog(@"===> %@",AptDate);
NSLog(@"===> %@",strDate);

输出:

===> 2013-01-24 07:00:00 +0000
===> Jan 24,2013 12:30 PM

这篇关于NSDateFormatter中的AM / PM问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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