该字符串未被识别为有效的 DateTime
DateTime.Parse(time).AddMinutes(minutes)函数老出错CATCH 后
time 格式是正确的
如:
2010-6-16 21:26:35
2010-5-22 15:21:03
2010-6-16 21:08:42 目前的情况就是隔几个星期就会出现一次这样的问题,解决的方案目前只能通过手动回收程序池,回收后就好了,大家感觉是什么问题,是.NET的BUG吗?怎么解决比较好
DateTime.Parse(time).AddMinutes(minutes)函数老出错CATCH 后
time 格式是正确的
如:
2010-6-16 21:26:35
2010-5-22 15:21:03
2010-6-16 21:08:42 目前的情况就是隔几个星期就会出现一次这样的问题,解决的方案目前只能通过手动回收程序池,回收后就好了,大家感觉是什么问题,是.NET的BUG吗?怎么解决比较好
你try catch捕获一下异常后写入日志记录传的什么东西,就能知道原因
2010-6-31 21:08:42
因为6月份不可能有31号,所以转换可能会出错只是猜测,楼主try catch,在catch里把你要转的字符串写到日志里
2010-5-22 15:21:03
2010-6-16 21:08:42
这个就是我catch 到的time ,所以我才怀疑是.NET的BUG
DateTime.TryParse("",out time);
检查值
System.Globalization.CultureInfo CultureInfoSG = new System.Globalization.CultureInfo("zh-CN", false);
Application.CurrentCulture = CultureInfoSG;另外Win7和XP的日期默认格式并不一样...XP是yyyy-MM-dd,WIN7是yyyy/M/d.
{
if (time == "" || time == null)
return 1;
TimeSpan ts;
try
{
ts = DateTime.Now - DateTime.Parse(time).AddMinutes(minutes);
if (ts.TotalMinutes > int.MaxValue)
{
return int.MaxValue;
}
else if (ts.TotalMinutes < int.MinValue)
{
return int.MinValue;
}
}
catch
{ Dcuz.Catch.WriteLog.write(HttpContext.Current.Request.Url.PathAndQuery,"日期格式转换错误"+ time);
Dcuz.Catch.WriteLog.StateFile();
return 1;
} return (int)ts.TotalMinutes;
}
这个是该方法