我有一个字符串"13/6/2011".我必须将其转换为DateTime.为此,我正在使用
DateTime.ParseExact("13/6/2011","DD/MM/YYYY",null);
Run Code Online (Sandbox Code Playgroud)
但它表明
String was not recognized as a valid DateTime
Run Code Online (Sandbox Code Playgroud)
例外.知道为什么吗?
除了ChrisF提到的"6"与"06"问题之外,您的格式字符串不正确.日期为"dd",年份为"yyyy",因此您的格式应为"dd/MM/yyyy".
另外,我建议明确传入CultureInfo.InvariantCulture,否则"/" 实际上可以被视为不同的(特定于文化的)日期分隔符.(另一种选择是引用斜线,但我认为使用不变的文化将事物更多地引入.)
换句话说,我会使用这样的东西:
// Sample for text: 13/06/2011
DateTime date = DateTime.ParseExact(text, "dd/MM/yyyy",
CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
如果你没有一定两位数天或一个月,使用方法:
DateTime date = DateTime.ParseExact(text, "d/M/yyyy",
CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
我现在还不清楚是否也应对(比如)13/06/2011.
| 归档时间: |
|
| 查看次数: |
236 次 |
| 最近记录: |