根据Parsing Date and Time Strings(我的重点):
要解析的日期的字符串表示必须包含月份和至少一天或一年。时间的字符串表示必须包括小时和至少分钟或AM / PM代号。但是,如果可能,解析为省略的组件提供默认值。缺少的日期默认为当前日期,缺少的一年默认为当前年份,缺少的一天默认为当月的第一天,缺失的时间默认为午夜。
不幸的是,在使用其他语言环境时,这似乎并不理想。例如,使用nb-NO
,我的WPF DatePicker将日期格式化为31.12.2017
,并且我希望将字符串1.2
解析为当前年份的2月1日。但是,它被解释为时间01.02.00
,而今天的日期则用于解析时间。 (如果我写1/2
,解析会按照需要工作,但我不想强迫用户为其语言环境使用非默认分隔符。)
有没有办法利用.NET的内置语言环境感知日期解析,但强制它只解析日期,而不是时间? (我无法使用ParseExact
因为我需要支持不同的区域设置;因此,these questions没有帮助。)