0

このタイプの日付形式を yyyy-MM-dd HH:MM:ss 形式に変換する方法。

                "DATE_OF_JOINING":"\/Date(1349634600000+0530)\/"
4

2 に答える 2

0

NSDateFormatterを使用します。これにより、さまざまな方法で文字列にフォーマットできます。

iOS用のクラスに関するアップルのリファレンスは次のとおりです: https ://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html

于 2013-01-08T15:00:24.660 に答える
0

 文字列から時間間隔を抽出するには、正規表現よりもスキャナーの方がいいです

NSDictionary *dict = @{@"DATE_OF_JOINING" : @"Date(1357683534626+0530)"};

NSString *string = dict[@"DATE_OF_JOINING"];
NSString *intervalString;
NSString *offsetString;

NSScanner *scanner = [NSScanner scannerWithString:string];
[scanner setScanLocation:[string rangeOfString:@"("].location+1];
[scanner scanUpToCharactersFromSet:[NSCharacterSet characterSetWithCharactersInString:@"+-"] intoString:&intervalString];
[scanner scanUpToString:@")" intoString:&offsetString];

NSInteger hours = [[offsetString substringToIndex:3] integerValue];
NSInteger minutes = [[offsetString substringFromIndex:3] integerValue];
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
offsetComponents.hour = hours;
offsetComponents.minute = minutes;

NSTimeInterval interval= [intervalString doubleValue];

NSDate *date = [NSDate dateWithTimeIntervalSince1970:interval/1000];

date = [[NSCalendar currentCalendar] dateByAddingComponents:offsetComponents toDate:date options:0];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *result = [formatter stringFromDate:date];
于 2013-01-08T22:24:43.847 に答える