为什么Convert.ToDateTime对以下值表现奇怪?
以下工作正常:
var value = "08/01/2011";
var dateTime = Convert.ToDateTime(value);
Run Code Online (Sandbox Code Playgroud)
结果是:{08/01/2011 00:00:00}---这是预期的.
但现在,当我这样做时:
var value = "07/21/2011";
var dateTime = Convert.ToDateTime(value);
Run Code Online (Sandbox Code Playgroud)
我得到一个例外:
'Convert.ToDateTime("07/21/2011")' threw an exception of type 'System.FormatException'
"07/21/2011";
Run Code Online (Sandbox Code Playgroud)
这不是有效日期,因为21将被解释为月份.
尝试明确指定格式:
DateTime myDate = DateTime.ParseExact("07/21/2011", "MM/dd/yyyy",
CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
编辑:
同意@ dtb的评论 - 我找不到你指定的日期合法的文化.但一般形式是:
DateTime myDate = Convert.ToDateTime("07/21/2011", new CultureInfo("XXX"))
Run Code Online (Sandbox Code Playgroud)
XXX您要使用的文化的名称在哪里(即"en-GB" - 虽然这不适用于此格式)
| 归档时间: |
|
| 查看次数: |
7917 次 |
| 最近记录: |