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

Joe*_*oel 8 parsing nlp objective-c nsdate ios

说我有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];
Run Code Online (Sandbox Code Playgroud)

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

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

小智 5

您是说dateWithNaturalLanguageString:吗?

从链接:

dateWithNaturalLanguageString:

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

+(id)dateWithNaturalLanguageString:(NSString *)字符串

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

  • -1如果您将应用与此一同提交到iOS App Store,则**它可能会被拒绝**。+ dateWithNaturalLanguageString:是iOS上的私有API。 (3认同)
  • 这被认为是私有API的使用,不是吗?它没有在iOS的NSDate中记录,并且会产生警告。虽然可以。 (2认同)