[英]NSDate from stange looking string
我有一個 NSDictionary,其日期值為:"Date":"/Date(1314313200000+0100)/",
我怎樣才能把它變成一個 NSDate,因為它包含字符串謊言“日期”:和/?
1314313200000 是自紀元日期 (1970-01-01) 以來的毫秒數,0100 是時區。 您需要從字符串中解析出此信息並從中構建日期。 NSScanner
class 非常適合從格式奇怪的文本中解析信息。
// 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];
如果時區也很重要,只需跳過+
號並解析一個新數字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.