我需要将字符串解析为DateTime.该字符串始终采用以下格式
"10.10.2010"这意味着dd.MM.yyyy,用点分隔.
我想使用DateTime.TryParse或任何其他方法.请建议.
UPDATE
更新了问题.我只是在寻找实现目标的正确方法.不是手动解析
Jon*_*eet 47
TryParse不允许您指定格式 - 但您可以使用TryParseExact:
DateTime date;
if (DateTime.TryParseExact(text, "dd'.'MM'.'yyyy",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out date))
{
// Success
}
else
{
// Parse failed
}
Run Code Online (Sandbox Code Playgroud)
请注意,点不一定要使用引号进行转义,但我个人喜欢将任何文字文本放在引号中以确保它不会被更改.这是个人偏好的事情 - 如果你愿意,你当然可以使用"dd.MM.yyyy".
同样地,我已经指定了不变文化,这是我通常为固定的自定义风格所做的 - 但如果你愿意,你可以使它使用当前的文化或特定的其他文化.当你使用自定义样式(而不是像"长日期"这样的标准样式)时,不太可能产生任何差异.
使用TryParseExact方法:
DateTime parsed;
if (DateTime.TryParseExact(yourString, "dd'.'MM'.'yyyy",
CultureInfo.CurrentCulture, DateTimeStyles.None, out parsed))
{
// success
}
Run Code Online (Sandbox Code Playgroud)
小智 5
巴西编解码器
public static bool IsDateTime(string txtDate)
{
DateTime tempDate;
return DateTime.TryParseExact(txtDate,"dd/MM/yyyy",
new CultureInfo("pt-BR"),
DateTimeStyles.None, out tempDate);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37981 次 |
| 最近记录: |