在iPhone上的日期字符串中,我使用什么格式字符串作为毫秒?

时间:2011-06-23 15:28:47

标签: iphone objective-c

我需要以包含毫秒的格式解析字符串。我使用什么格式字符串来获取正确的日期值?

例如,假设我有一个包含以下值的字符串:“2011-06-23T13:13:00.000”

我在下面的代码中传递给NSDateFormatter的格式字符串是什么?

NSString *dateValue = @"2011-06-23T13:13:00.000";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSString *formatString = @"yyyy-MM-dd'T'HH:mm:ss.???";
[formatter setDateFormat:formatString];
NSDate *date = [formatter dateFromString:dateValue];

我用什么代替???在上面的代码?

4 个答案:

答案 0 :(得分:206)

SSS,符合Unicode Locale Data Markup Language spec

"yyyy-MM-dd'T'HH:mm:ss.SSS"

更一般地说,使用任意数量的大写S字符来获取一秒分数组件中的那么多小数位。 (例如,ss.S将显示最接近十分之一秒的时间。)

答案 1 :(得分:6)

Date Format Patterns guide表明“S”是分数秒的格式说明符。

答案 2 :(得分:4)

你需要在最后传递相同数量的'S',例如我的日期'2015-11-17T03:36:45.041503Z'我使用'yyyy-MM -dd'T'HH:mm:ss.SSSSSSz'格式化程序,我的意思是看到'S'的数字是6,因为日期是6位数。

答案 3 :(得分:-1)

fff用于第二个

的三个小数位
"yyyy-MM-dd'T'HH:mm:ss.SSS"