簡體   English   中英

NSDate 來自 stange 的字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM