如何使NSDateFormatter接受一种格式的输入并将其显示在另一种格式中?

时间:2010-09-24 11:37:26

标签: objective-c cocoa interface-builder nsdateformatter

我有一个表格视图,使用NSDateFormatter显示日期,使用完整日期样式格式化日期(今天格式为“2010年9月24日星期五”或德语格式“Freitag,2010年9月24日“)。但是在编辑日期时,格式化程序会强制用户以相同的格式键入日期。如何让格式化程序在输入时接受不同格式的日期?理想情况下,格式化程序应使用一些启发式方法来自动检测输入的格式。

我尝试在代码中设置lenient属性,但这根本不会改变观察到的行为。

许多程序会自动检测输入的日期格式,因此必须这样做。或者他们都使用自己的实现?

1 个答案:

答案 0 :(得分:0)

也许Data Formatting Guide的这一部分可以提供帮助:

  

v10.4行为模式允许更多   可配置性和更好   本土化;你应该用它   任何新项目,理想的升级   任何使用v10.0的现有代码   使用v10.4行为的行为。

     

对于向后二进制兼容性,   的默认行为   Mac OS X版本上的NSDateFormatter   10.4是v10.0的行为。但是,在Mac OS X 10.5及更高版本中   默认是v10.4行为。您可以   设置所有的默认行为   NSDateFormatter的实例   v10.4通过调用类的行为   方法,setDefaultFormatterBehavior:   与论点   NSDateFormatterBehavior10_4。您可以   还设置任何实例的行为   单独调用   setFormatterBehavior: