C#中的DateTime如何解析两位数字的年份

       首先喷一个。这是谁提的需求——把两位数字表示的年份转换成四位数字的年份?脑子呢?多出来的两位数字是谁生的?用脚趾头想想也知道最终结果不唯一(不唯一就是根本没解决问题)。脑子被千年虫蚀空了。

       对于这种需求,直接印上“INVALID”,哪来的回哪去。

 

       答:

       如果一个表示日期的字符串格式类似于“yyyy-MM-dd”, 即用四位数字表示年份,那么DateTime解析得到的年份就是我们看到的年份。
       例:“2014-06-19”解析得到的年份是2014。


       如果原字符串中年份使用两位数字表示,即格式类似于“yy-MM-dd”, 那么DateTime解析得到的年份是属于哪个世纪呢?
       如:“14-06-19”解析得到的年份是1914? 2014? 2114?...
       默认情况下这是由运行程序的操作系统设置决定的。

       (其实不光是C#,很多其它语言或程序都采用这种方式。)


       Win7为例:
C#中的DateTime如何解析两位数字的年份


C#中的DateTime如何解析两位数字的年份

       注:上图中所设置的年份“1930“和”2029”会随着时间的推移而自行改变吗?

       如:今年(2014)是“1930”和“2029”,到了明年(2015)会不会就自动变成了“1931”和“2030”?

       求指导

你可能感兴趣的:(C#,DateTime)