在ios中的Date.parse?

时间:2014-05-28 05:25:25

标签: ios date

ios中有没有类似于javascript中的date.parse()的方法?

    value = Date.parse(date.value + ' ' + time.value);// javascript

我需要相应的ios代码才能从textfield获取值并转换为具有不同时间格式的日期

它也会在javascript中自动转换为本地时区,ios中是否有相应的内容?

3 个答案:

答案 0 :(得分:1)

如果您知道字符串日期格式,则可以使用NSDateFormatter:

NSString *dateStr = @"Mon, 28 May 2014 1:31:38"; //A date string with a known format
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss"];
NSDate *date = [dateFormat dateFromString:dateStr]; 

上面的date变量将为您提供表示日期的objective-c对象。您可以在Apple's guidesother websites on the internet

中查看各种格式

答案 1 :(得分:1)

通常我们建议您考虑NSDateFormatter(请参阅数据格式指南class referenceDate Formatters部分。然后,您可以尝试使用dateFormat字符串的所有排列进行转换,直到获得有效日期为止。

或者,您可以使用NSDataDetector

NSError *error;
NSDataDetector *detector = [[NSDataDetector alloc] initWithTypes:NSTextCheckingTypeDate error:&error];
NSString *string = @"May 22, 2000";

NSTextCheckingResult *match = [detector firstMatchInString:string options:0 range:NSMakeRange(0, [string length])];
NSLog(@"date = %@", [match date]);

string = @"May 3 2000";

match = [detector firstMatchInString:string options:0 range:NSMakeRange(0, [string length])];
NSLog(@"date = %@", [match date]);

以上内容将查找并识别您建议的任何日期格式。它可以做什么有限制,但有时它是有用的。

答案 2 :(得分:0)