开发者

DateTime.Parse: exception when changing culture

I am parsing a string to convert it into a DateTime. I am getting in some cases an error:

String was not recognized as a valid DateTime.

I am getting this error only if I run the application from a computer located in a different country than US. What I see in the string is 09/20/2010 14:11 and in this case I get an exception. If I have a value like: 10/05/2010 12:54 I don't get an exception. I suppose it is the fact that the day is 20 and this开发者_JAVA百科 computer is in Europe, so it thinks that 20 is the month. The problem is I force it to be en-US:

CompletedDttm = DateTime.ParseExact(value, "MM/dd/yyyy hh:mm", new CultureInfo("en-US"));

Because I am getting the exception I suppose sure this is the correct approach.

Any idea how to parse a string in a way that works no matter what culture I am running on the machine?


You should use "HH:mm" instead of "hh:mm" - "HH" is for 24-hour clock; "hh" is for a 12-hour clock. So 14 isn't a valid value for "hh".

I'd expect to see the same problem even on a US machine though... maybe you happened to only get pre-1pm times on your US machines due to time zone differences?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜