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

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

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

 

       答:

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


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

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


       Win7为例:




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

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

       求指导

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值