Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone NSDate从stange查找字符串_Iphone_Objective C_Nsdate - Fatal编程技术网

Iphone NSDate从stange查找字符串

Iphone NSDate从stange查找字符串,iphone,objective-c,nsdate,Iphone,Objective C,Nsdate,我有一本NSDictionary,日期值为: “日期”:“/日期(1314313200000+0100)/”, 如何将其转换为NSDate,因为它包含字符串“Date”:和/?1314313200000是自纪元日期(1970-01-01)起的毫秒,0100是时区。您需要从字符串中解析此信息,并从中生成日期。NSScanner类非常适合从格式奇怪的文本中解析信息 // Init a scanner with your date string NSScanner* scanner = [NSScan

我有一本NSDictionary,日期值为: “日期”:“/日期(1314313200000+0100)/”,

如何将其转换为NSDate,因为它包含字符串“Date”:和/?

1314313200000是自纪元日期(1970-01-01)起的毫秒,0100是时区。您需要从字符串中解析此信息,并从中生成日期。
NSScanner
类非常适合从格式奇怪的文本中解析信息

// Init a scanner with your date string
NSScanner* scanner = [NSScanner scannerWithString:@"Date:/Date(1314313200000+0100)/"];
// Skip everything up to a valid numeric character
[scanner scanUpToCharactersFromSet:[NSCharacterSet decimalDigitCharacterSet]
                        intoString:NULL];
// Parse numeric value into a 64bit variable
long long milliseconds = 0;
[scanner scanLongLong:&milliseconds];
// Create a date instance from milliseonds sinve 1970-01-01
NSDate* date = [NSDate dateWithTimeIntervalSince1970:milliseconds / 1000.0];
如果时区也很重要,只需跳过
+
符号并解析一个新数字