关于C#日期格式化问题

一、前提摘要

  前段时间从博客园中看到一篇关于常用的日期格式化的帖子,帖子内容大致如下:

 //DateTime的ToString()对时间格式化的妙用
DateTime.Now.ToString("d"); //格式: 2010-10-22
DateTime.Now.ToString("D"); //格式: 2010年10月22日
DateTime.Now.ToString("f"); //格式: 2010年10月22日 9:26
DateTime.Now.ToString("F"); //格式: 2010年10月22日 9:26:38
DateTime.Now.ToString("g"); //格式: 2010-10-22 9:26
DateTime.Now.ToString("G"); //格式: 2010-10-22 9:26:38
DateTime.Now.ToString("m"); //格式: 10月22日
DateTime.Now.ToString("r"); //格式: Fri, 22 Oct 2010 09:26:38 GMT
DateTime.Now.ToString("s"); //格式: 2010-10-22T09:26:38
DateTime.Now.ToString("t"); //格式: 9:26
DateTime.Now.ToString("T"); //格式: 9:26:38
DateTime.Now.ToString("u"); //格式: 2010-10-22 09:26:38Z
DateTime.Now.ToString("U"); //格式: 2010年10月22日 1:26:38
DateTime.Now.ToString("y"); //格式: 2010年10月
DateTime.Now.ToString("dddd"); //格式: 星期五
DateTime.Now.ToString("dddd, MMMM dd yyyy"); //格式: 星期五, 十月 22 2010
DateTime.Now.ToString("ddd, MMM d yy"); //格式: 五, 十月 22 10
DateTime.Now.ToString("dddd, MMMM dd"); //格式: 星期五, 十月 22
DateTime.Now.ToString("M/yy"); //格式: 10-10
DateTime.Now.ToString("dd-MM-yy"); //格式: 22-10-10

二、经验教训 在没有认真考究的情况下,我使用了这个函数:DateTime.Now.ToString("d"); 我傻傻的相信了它的格式等同于yyyy-MM-dd。结果,悲剧发生了。 我写的模块中,有一段SQL语句,需要用到这样的日期格式:yyyy-MM-dd。 而在我的电脑上,系统日期格式同样为:yyyy-MM-dd。 所以,自己各种测试都没有问题,选择对应的日期即可查出数据。
但是,在同事的电脑上测试的时候,却发现选择日期后查询不到结果了。

于是,通过DeBug发现了问题所在:同事的电脑系统日期格式为:yyyy/MM/dd。

而用DateTime.Now.ToString("d");格式化后的日期类型也是:yyyy/MM/dd。

三、问题重现






四、反思总结
在格式化日期类型时,若不确定自己使用的函数在不同环境下得到的结果是否一致。

那就不要偷懒,用简单易懂的格式化方
式:DateTime.Now.ToString("yyyy-MM-dd");

转载于:https://www.cnblogs.com/ExDevilLee/p/3472638.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值