ios中有没有类似于javascript中的date.parse()的方法?
value = Date.parse(date.value + ' ' + time.value);// javascript
我需要相应的ios代码才能从textfield获取值并转换为具有不同时间格式的日期
它也会在javascript中自动转换为本地时区,ios中是否有相应的内容?
答案 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 guides或other websites on the internet
答案 1 :(得分:1)
通常我们建议您考虑NSDateFormatter
(请参阅数据格式指南的class reference或Date 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)
有NSDate
格式化程序
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
这些链接可以帮助您