总是得到字符串不被识别为有效的日期时间。如何转换为当前格式

时间:2013-03-03 13:52:31

标签: c# datetime datetime-parsing

我想使用文本框以dd-MM-yyyy格式接受日期我也使用了ajax日历。

DateTime.ParseExact(txtDate.Text,"dd-MM-yyyy",null) 

Convert.ToDateTime(txtDate.Text) 

都抛出异常:

  

字符串未被识别为有效的日期时间。

我知道何时将系统日期格式更改为MM-dd-yyyydd-MM-yyyy,它将开始识别它,但是当我将其发布到服务器上时,解决方案是什么。

那么有没有解决当前格式的解决方案?

2 个答案:

答案 0 :(得分:0)

您需要将IFormatProvider参数传递给ParseExact方法,如:

CultureInfo provider = CultureInfo.GetCultureInfo("en-US")
DateTime.ParseExact(txtDate.Text,"dd-MM-yyyy",provider) 

不要忘记使用System.Globalization命名空间

答案 1 :(得分:0)

您需要使用System.Threading.Thread.CurrentThread.CurrentCulture来获取用户的当前设置。然后使用它来获取格式化的日期字符串。

DateTime now = DateTime.Now;
string formattedToCurrentUser = now.ToString(System.Threading.Thread.CurrentThread.CurrentCulture);