【发布时间】:2013-04-23 08:01:03
【问题描述】:
我有一个字符串,看起来日期格式是 01/04/2013
对于string date="01/04/2013"
上面的字符串格式类似于a:01是Date,04是Month,2013年。
现在我正在使用convert.todatetime()
见下文:
DateTime **DateTimeValue** =Convert.ToDateTime(date);
我系统中的 DateTimeValue 返回:01-04-2013T00:00:00 // 日期 1 日和月 2 日
但是当转换相同的 DateTimeValue 时在其他系统上返回 :04-01-2013T00:00:00 //Month 1st and date 2nd
为什么Convert.DateTime()在不同的系统中返回不同的、不同的日期????
答案:
现在我将我的 DataBase Coloumn DataType DateTime 更改为 Nvarchar 。所以我不应该转换为 DateTime 。这适用于所有系统。
谢谢大佬的
【问题讨论】:
-
可能是您使用的两台机器上的区域设置不同。
-
可能与文化设置有关 - 这是我的第一个猜测。
-
这看起来像是文化设置/本地化问题。见:stackoverflow.com/questions/5798908/…
-
Convert.ToDateTime 取决于 CurrentCulture。使用明确的文化超载。
-
那么我们如何解决这个问题。