ITPub博客

首页 > Linux操作系统 > Linux操作系统 > DateTime.Parse BUG

DateTime.Parse BUG

原创 Linux操作系统 作者:taogchan 时间:2011-03-10 11:48:28 0 删除 编辑

DateTime.Parse()在用的时候要如下代码


CultureInfo CultureInfo = new CultureInfo("en-US");
CultureInfo.DateTimeFormat.TimeSeparator = ":";
CultureInfo.DateTimeFormat.DateSeparator = "-";
CultureInfo.DateTimeFormat.LongDatePattern = "yyyy-MM-dd";
CultureInfo.DateTimeFormat.LongTimePattern = "HH:mm:ss";
DateTime.Parse(str, CultureInfo.DateTimeFormat);

只有这样才不会出错。
那么DateTime.Parse在什么情况下会默认不支持24小时,而必须要上面这样写呢?
据我的实践情况而知,当一个.net站点的访问量达到一定级别(并每个线程都会进行DateTime.Parse运算)之后就会出现。有可能是.net自身的bug造成的。
目前还不能十分确定具体的原因。
@alan_ysq 也遇到了这样的问题,他想刨根问底我也想知道问题根本原因:
由于 Parse(String) 方法尝试使用当前区域性的格式设置规则来分析日期和时间的字符串表示形式,因此尝试跨不同区域性分析特定的字符串可能会失败或返回不同的结果
应该就是这个原因导致的
参考官方资料:http://technet.microsoft.com/zh-cn/magazine/1k1skd40(VS.95).aspx

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22392018/viewspace-688938/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 动态SQL into
请登录后发表评论 登录
全部评论

注册时间:2009-08-28

  • 博文量
    200
  • 访问量
    1192523