我從json文件接收下面格式的日期。林不知道,但我認爲它由.Net框架中的DataContractJsonSerializer類格式化。日期看起來像這樣從DataContractJsonSerializer格式化日期到iOS
\/Date(1255993200000+0100)\/
我想知道是否有人會知道我怎麼會轉換到這個日期一般在iOS上,或者如果我做任何事情來改變它。
感謝,
我從json文件接收下面格式的日期。林不知道,但我認爲它由.Net框架中的DataContractJsonSerializer類格式化。日期看起來像這樣從DataContractJsonSerializer格式化日期到iOS
\/Date(1255993200000+0100)\/
我想知道是否有人會知道我怎麼會轉換到這個日期一般在iOS上,或者如果我做任何事情來改變它。
感謝,
試試這個
-(NSDate*)mfDateFromDotNetJSONString:(NSString *)string
{
static NSRegularExpression *dateRegEx = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
dateRegEx = [[NSRegularExpression alloc] initWithPattern:@"^\\/date\\((-?\\d++)(?:([+-])(\\d{2})(\\d{2}))?\\)\\/$" options:NSRegularExpressionCaseInsensitive error:nil];
});
NSTextCheckingResult *regexResult = [dateRegEx firstMatchInString:string options:0 range:NSMakeRange(0, [string length])];
if (regexResult)
{
// milliseconds
NSTimeInterval seconds = [[string substringWithRange:[regexResult rangeAtIndex:1]] doubleValue]/1000.0;
// timezone offset
if ([regexResult rangeAtIndex:2].location != NSNotFound) {
NSString *sign = [string substringWithRange:[regexResult rangeAtIndex:2]];
// hours
seconds += [[NSString stringWithFormat:@"%@%@", sign, [string substringWithRange:[regexResult rangeAtIndex:3]]] doubleValue] * 60.0 * 60.0;
// minutes
seconds += [[NSString stringWithFormat:@"%@%@", sign, [string substringWithRange:[regexResult rangeAtIndex:4]]] doubleValue] * 60.0;
}
return [NSDate dateWithTimeIntervalSince1970:seconds];
}
return nil;
}
,並使用
[NSString stringWithFormat:...]
這個功能
這幫助我傳遞字符串,並希望它可以幫助你
是的,這是完美的工作。謝謝:) – CodeGeek123
歡迎..... :) –
日期似乎無效 –
這是有效的 - 這實際上是塗e Oct 20 2009 01:00:00以1970年以來的秒數 – Stavash