字符串未被识别为有效的DateTime

时间:2011-06-13 23:49:21

标签: c# c#-4.0

我收到此错误“ 字符串未被识别为有效日期时间 ”,代码如下:

DateTimeOffSet dt=new DateTimeOffset(Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy hh:mm tt")));

它适用于DEV环境,但不适用于生产。

有人可以建议上面的代码有什么问题吗?

谢谢。

3 个答案:

答案 0 :(得分:8)

Convert.ToDateTime使用有关DateTime格式的当前文化信息。 尝试这样的事情:

string format = "dd/MM/yyyy hh:mm tt";
string stringDate = DateTime.Now.ToString(format, CultureInfo.InvariantCulture);
DateTime dateTime = DateTime.ParseExact(stringDate, format, CultureInfo.InvariantCulture);

答案 1 :(得分:1)

为什么要从DateTime转换为string然后再转回DateTime

我认为这应该可行:

DateTimeOffset dt = new DateTimeOffset(DateTime.Now);

答案 2 :(得分:0)

CultureInfo必须在两台机器上都有所不同。您可能必须在转换方法中将其作为首选文化传递,例如EN-US