【C# DateTime】如何一次性修改DateTime的默认ToString格式

【问题】网站 项目里经常用到DateTime类型变量,要求所有日期时间类型格式标准为“yyyy-MM-dd HH:mm:ss”,但默认Tostring格式为 yyyy-M-d H:m:s ,没有前置0,

需要修改

【分析】 1、修改代码里所有DateTime类型的Tostring为 ToString("yyyy-MM-dd HH:mm:ss"),不方便

2、找见统一的修改地方, 

Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN", true) { DateTimeFormat = { ShortDatePattern = "yyyy-MM-dd", FullDateTimePattern = "yyyy-MM-dd HH:mm:ss" }; 发现不起作用

经分析DateTimeFormat  类的属性,发现 LongTimePattern 起作用

     

【结论】增加 LongTimePattern 属性

//登录的时候就统一格式化,现在很多程序地方直接对时间类型的变量直接做字符处理
            //要一个个找出来比较麻烦,现在统一格式化回到一个时间格式上来。
            //SystemTime.SetDateTimeFormat("yyyy-MM-dd", "yyyy-MM-dd", "HH:mm:ss");
            Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN", true)
            {
                DateTimeFormat = { ShortDatePattern = "yyyy-MM-dd", FullDateTimePattern = "yyyy-MM-dd HH:mm:ss", LongTimePattern = "HH:mm:ss" }
            };

 

posted @ 2016-12-29 17:16  Net-Spider  阅读(602)  评论(0)    收藏  举报