有没有办法将自然语言日期NSString转换为NSDate

时间:2011-05-04 04:25:44

标签: objective-c ios parsing nlp nsdate

说我有NSString @"tomorrow"

是否有任何库采用此类字符串并将其转换为NSDates?我在想象/希望这样的事情:

NSString* humanDate = @"tomorrow at 4:15";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"x at HH:MM"];
NSDate* date = [dateFormatter dateFromString:humanDate];

我也想做“下一个星期一”等事情,但它不一定非常复杂。我可以对输入执行规则,但我想要一些自然语言。

我的另一种方法是取字符串,将其分解成碎片,然后手动格式化。但我希望有人已经这样做了。

1 个答案:

答案 0 :(得分:5)

你的意思是dateWithNaturalLanguageString:吗?

从链接:

  

dateWithNaturalLanguageString:

     

创建并返回一个NSDate对象,该对象设置为给定字符串指定的日期和时间。

     

+(id)dateWithNaturalLanguageString:(NSString *)string

     

包含日期的口语规范的字符串,例如“上周二晚餐”,“2001年12月31日下午3点”,“12/31/01”或“2003年12月31日”。