我试图用一个单一的格式字符串阅读下列格式的日期:DateTime.ParseExact非传统年
"1000.12.31"
"999.12.31"
"99.12.31"
这将对应日期在多年的公元1000年,公元999和99广告。
我试过下面的格式字符串:
yyyy.M.d
。这在999年和99年都失败了。
yy.M.d
。这个失败了1000和999.它也解释99为1999.
我即将诉诸手动解析它(这很简单),但我很好奇,如果这样的事情甚至可能与DateTime.ParseExact
或者使用另一种内置方法?
'y.M.d'不工作吗? – leppie
“99.12.31”对人类也不明确。 *没有人会去“啊,这当然是在Marcus Ulpius Nerva Traianus Augustus统治年的99年”。每个选秀权1999年。它用机器不会变得更好。 –
@leppie:nope,与'yy.M.d' iirc结果相同。 @Hans对我来说,在这方面它并不含糊。我知道我总是希望99是99,而不是1999,我只是不能指定。就像几个月和几个月一样,它们可能不明确(1/2,是feb 1st还是1月1日?),但是如果您知道期望什么,则可以在格式字符串中指定它。 – Bubblewrap