确定日期格式

时间:2014-02-03 22:26:56

标签: date

"2014-02-03T23:10:00Z"

我知道每个数字代表什么,但T和Z让我失望。有谁知道这是什么类型的日期格式?如果我找到一个,我宁愿使用原生解析器。

由于

3 个答案:

答案 0 :(得分:1)

它是ISO 8601格式(http://en.wikipedia.org/wiki/ISO_8601)。 T是时间分隔,如果时区是UTC,则使用Z.

答案 1 :(得分:0)

它似乎是ISO 8601格式。 RestKit有一个解析器。您还应该能够NSDateFormatter解析它。

答案 2 :(得分:0)

“2014-02-03T23:10:00Z”是ISO 8601格式(http://www.w3.org/TR/NOTE-datetime

T表示时间的开头,Z表示日期以UTC(协调世界时)表示

如果您想使用特定格式获取日期,可以使用NSDateFormatter

NSDate *now = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy/MM/dd"];
NSString *stringDate = [dateFormatter stringFromDate:date];
NSLog(@"%@", stringDate); // 2014/03/03

如果您只需要日期的某个部分(例如当月):

NSDate *now = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM"];
NSInteger *monthNumber = [[dateFormatter stringFromDate:date] integerValue];
NSLog(@"%i", monthNumber); // 03

如果您需要特定语言的日期:

NSDate *now = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd' de 'MMMM' del 'yyyy"]; // You can add your own text between single quotes
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"es_ES"]];
NSString *stringDate = [dateFormatter stringFromDate:date];
NSLog(@"%@", stringDate); // 03 de febrero del 2014