我正在Mac上开发一个Cocoa应用程序,我正在使用一个WCF服务,它返回一个来自SQL Server DATETIMEOFFSET字段的JSON日期。从服务返回的JSON对象(包括日期字段)概述如下:
{
"ObjectId": 1,
"Name": "My Object Name",
"Description": "My Object Description",
"CreateDate": {
"DateTime": "/Date(1306481778297)/",
"OffsetMinutes": 0
},
"LastModifiedDate": {
"DateTime": "/Date(1306936930427)/",
"OffsetMinutes": 0
}
}
我的问题是如何将CreateDate和LastModifiedDate字段转换为NSDate对象?
我试图创建一个NSDateFormatter并以这种方式抽象值。但是,这适用于简单的字符串日期或标准JSON日期(/ Date(1306936930427)/),但不适用于包含日期和偏移量的日期对象。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]
NSString *creationDate = [myObject valueForKey:@"CreateDate"];
NSDate *date = [dateFormatter dateFromString:creationDate];
非常感谢任何有关这方面的帮助。
答案 0 :(得分:2)
首先,从字符串中提取数字(例如1306936930427); NSScanner可能会派上用场。然后除以1000.0并使用NSDate的dateWithTimeIntervalSince1970:
类方法来获取NSDate。