Objective c 如何使NSDateFormatter接受一种格式的输入并以另一种格式显示?
我有一个表视图,它使用Objective c 如何使NSDateFormatter接受一种格式的输入并以另一种格式显示?,objective-c,cocoa,interface-builder,nsdateformatter,Objective C,Cocoa,Interface Builder,Nsdateformatter,我有一个表视图,它使用NSDateFormatter来显示日期,并使用完整的日期样式对日期进行格式化(今天的格式为“2010年9月24日星期五”或德语为“2010年9月24日Freitag”)。但在编辑日期时,格式化程序会强制用户以相同的格式键入日期。如何使格式化程序在输入时接受不同格式的日期?理想情况下,格式化程序应该使用一些启发式方法来自动检测输入的格式 我尝试在代码中设置lenient属性,但这根本不会改变观察到的行为 许多程序自动检测输入的日期格式,因此这是可能的。或者他们都在使用自己的
NSDateFormatter
来显示日期,并使用完整的日期样式对日期进行格式化(今天的格式为“2010年9月24日星期五”或德语为“2010年9月24日Freitag”)。但在编辑日期时,格式化程序会强制用户以相同的格式键入日期。如何使格式化程序在输入时接受不同格式的日期?理想情况下,格式化程序应该使用一些启发式方法来自动检测输入的格式
我尝试在代码中设置lenient
属性,但这根本不会改变观察到的行为
许多程序自动检测输入的日期格式,因此这是可能的。或者他们都在使用自己的实现?本节内容可能会有所帮助:
v10.4行为模式允许更多
可配置性更好
本地化;你应该用它来
任何新项目,最好是升级
使用v10.0的任何现有代码
使用v10.4行为的行为
对于向后二进制兼容性,
的默认行为
Mac OS X版本上的NSDateFormatter
10.4是v10.0的行为。然而,在MacOSX 10.5版及更高版本上
默认为v10.4行为。你可以
设置所有对象的默认行为
将NSDateFormatter的实例添加到
v10.4通过调用类来执行的行为
方法,setDefaultFormatterBehavior:
随着争论
NSDateFormatterBehavior10_4。你可以
还可以为任何实例设置行为
通过调用
setFormatterBehavior:
这真的没用。当切换到v10.0行为时,它接受不同格式的日期,但它忽略了区域设置,坚持使用month.day.year格式,这对于我们使用day.month.year格式的德国来说是错误的。