设置日期格式Objective-C

时间:2015-08-07 04:18:56

标签: objective-c nsdateformatter

我想转换此字符串"周六,2015年8月1日21:03:59 GMT"到NSDate对象

这是我的代码

+(NSDate *)getDateFromDateString :(NSString *)dateString {
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"E, dd MMM yyyy HH:mm:ss Z"];
NSDate *date = [dateFormatter dateFromString:dateString];
return date;}

但是日期总是零。我猜日期格式有问题。有人可以给我一些建议吗?

2 个答案:

答案 0 :(得分:1)

感谢您的支持,我找到了答案。需要声明语言环境

[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];

答案 1 :(得分:0)

通常这就是我称之为效用函数的方式:

<强> DateHelperClass.h

+ (NSDate *)getDateFromDateString :(NSString *)dateString;

<强> DateHelperClass.m

+ (NSDate *)getDateFromDateString :(NSString *)dateString
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
    NSDate *date = [dateFormatter dateFromString:dateString];
    return date;
}

<强> SomeOtherClass.m

#import "DateHelperClass.h"

- (void)convertDate
{
    NSLog(@"%@",[DateHelperClass getDateFromDateString:@"Sat, 01 Aug 2015 21:03:59 GMT"]);
} 

<强>结果

  

2015-08-01 21:03:59 +0000