将字符串日期转换为NSDate

时间:2014-01-29 09:42:53

标签: ios iphone nsdate nsdateformatter

我在我的应用程序中执行简单的字符串到日期,反之亦然转换,但字符串在iOS6中仅在其他版本的iOS中正常转换为NSDate正在按预期工作。

以下是我的代码。

NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"dd MMMM, yyyy EEEE"];
    [df setLocale:[NSLocale currentLocale]];

    NSLog(@"String From Date : %@",[df stringFromDate:[NSDate date]]);

    NSDate *today = [df dateFromString:@"29 January, 2014 Wednesday"];
    NSLog(@"Date : %@",today);
    NSLog(@"Date From String : %@",[df stringFromDate:today]);

我在iOS 6.0中的输出是:

String From Date : 29 January, 2014 Wednesday
Date : 1999-12-28 18:30:00 +0000
Date From String : 29 December, 1999 Wednesday

iOS7中的我的输出是:

String From Date : 29 January, 2014 Wednesday
Date : 2014-01-28 18:30:00 +0000
Date From String : 29 January, 2014 Wednesday

我花了很多时间搜索日期转换,但这是我遇到的一个奇怪的问题。任何人都可以帮我解决这个问题......

感谢您的支持。

1 个答案:

答案 0 :(得分:1)

我认为iOS6的问题是数据格式化风格,所有你需要做的就是替换那条线

[df setDateFormat:@"dd MMMM, yyyy EEEE"];

用那个

[df setDateFormat:@"EEEE dd MMMM, yyyy"];