关于C# .net DateTime 类型 输出带星期 导致各种错误 终极解决办法终于找到
相信这个问题困扰了很多人,本人在网上搜索一大圈也没有解决问题,在自己的努力下找到解决办法:regedit注册表搜索值和数据yyyy,把搜到的每一个shortDate改为y...
相信这个问题困扰了很多人,本人在网上搜索一大圈也没有解决问题,在自己的努力下找到解决办法:regedit注册表搜索值和数据 yyyy ,把搜到的每一个shortDate 改为 yyyy-M-d,sDate 改为 - ,重启电脑解决问题。
展开
2个回答
展开全部
唉,程序员做到这份上,我也真是醉了!
如果c#中使用直接使用ToString()或ToShortString()的话,其实使用是当前电脑的文化,这种输出的形式,肯定是根据自身电脑设置不同文化输出不同的结果。事实上我们关数字格式/货币格式/日期格式在使用时本身可以定义不同的文化的。当然对于不同的文化也有不同的默认格式。但程序员往往不喜欢去定义不同的文化,而是直接格式数据。
所以可以直接定义格式的方法实现。例如Datetime.Now.ToString("yyyy-MM-dd")等等,这个格式可以随意订制,不用区分文化。
所以在Datetime的ToString方法中有三个重载(ToString无参的算是一个基本函数,另外的形式叫做重载),分别是ToString(), ToString(string), ToString(IFormatProvider)和ToString(string,IFormatProvider)共计四个方法。
假如程序员只会其中的ToString()而不知道该用其他的方法时,真的是一种悲哀!
试想如果另一个跟你一样的程序员要求ToString()要求返回带星期时怎么办?你两个先打一架,然后决定谁妥协?
如果c#中使用直接使用ToString()或ToShortString()的话,其实使用是当前电脑的文化,这种输出的形式,肯定是根据自身电脑设置不同文化输出不同的结果。事实上我们关数字格式/货币格式/日期格式在使用时本身可以定义不同的文化的。当然对于不同的文化也有不同的默认格式。但程序员往往不喜欢去定义不同的文化,而是直接格式数据。
所以可以直接定义格式的方法实现。例如Datetime.Now.ToString("yyyy-MM-dd")等等,这个格式可以随意订制,不用区分文化。
所以在Datetime的ToString方法中有三个重载(ToString无参的算是一个基本函数,另外的形式叫做重载),分别是ToString(), ToString(string), ToString(IFormatProvider)和ToString(string,IFormatProvider)共计四个方法。
假如程序员只会其中的ToString()而不知道该用其他的方法时,真的是一种悲哀!
试想如果另一个跟你一样的程序员要求ToString()要求返回带星期时怎么办?你两个先打一架,然后决定谁妥协?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询