2014-03-04 76 views
1

如果'字符串'看起来像这样'2014-03-04T15:06:54.000Z',该行应该是什么样子? myDate以下面的格式设置为零。特定字符串的NSDateFormatter格式

[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"]; 

+ (NSDate *)convertStringtoDate:(NSString *)string { 

    NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"]; 

    NSDate *myDate = [formatter dateFromString:string]; 

    return myDate; 
} 

此外,我会很感激一个很好的资源,学习如何看待这个我自己。日期格式概念对于我的小脑袋来说是一个艰难的概念。

+0

您需要处理小数秒。并且不要引用时区 – rmaddy

+0

@rmaddy我想要一个例子... – Micah

+0

字符串来自Rails/Postgres DB,为什么我要分数秒呢?我不需要那种准确度。也许这是我的问题? – Micah

回答

2

尝试使用“SSS”作为格式说明符来捕获毫秒,即使您不使用它们。然后您的格式字符串将变为:

[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"]; 

请参阅此处格式参考:http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns

+0

工作正常!太感谢了! – Micah

+0

不客气;)如果它解决了您的问题,请不要忘记将问题标记为已回答! – Romain

+3

不要在日期格式中引用'Z'。这是时区。你想要处理它,而不是被忽略。 – rmaddy