• 关于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");

  • 相关阅读:
    阿里Java开发规约【摘录】
    JavaWeb【八、JSP指令与动作元素】
    JavaWeb【七、JSP状态管理】
    JavaWeb【六、JavaBean】
    JavaWeb【五、内置对象】
    JavaWeb【四、JSP基础语法】
    JavaWeb【三、Web程序编写】
    JavaWeb【二、Tomcat安装】
    Django 模板层
    Django auth模块
  • 原文地址:https://www.cnblogs.com/ExDevilLee/p/3472638.html
Copyright © 2020-2023  润新知