将NSString转换为NSDate

时间:2013-02-01 06:28:08

标签: ios objective-c nsstring nsdate

  

可能重复:
  Converting NSString to NSDate (and back again)

我向flickr api发出请求,并以下列格式返回日期

"2013-02-01T06:25:47Z"

如何将其转换为NSDate格式?

2 个答案:

答案 0 :(得分:22)

这很简单,将NSString转换为NSDate我们使用dateDromString方法使用NSDateformatter。我们需要为NSString

提供现有样式的Dateformatter样式
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *date = [dateFormatter dateFromString:@"2013-02-01T06:25:47Z"];
NSTimeZone *pdt = [NSTimeZone timeZoneWithAbbreviation:@"PDT"];
[dateFormatter setTimeZone:pdt];
[dateFormatter setDateFormat:@"HH:mm:ss zzz"];
[dateFormatter setDateFormat:@"K:mm a, z"];
NSString * updated String = [dateFormatter stringFromDate:date];

答案 1 :(得分:3)

您可以使用以下功能:

-(NSDate *)getDateFromString:(NSString *)pstrDate
{
    NSDateFormatter *df1 = [[[NSDateFormatter alloc] init] autorelease];
    [df1 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
    NSDate *dtPostDate = [df1 dateFromString:pstrDate];
    return dtPostDate;
}

希望,这会对你有所帮助。

此函数将接受您的字符串日期并返回NSDate值。

干杯!