如何将以下字符串转换为System.DateTime对象?
2010年
1月13日星期三2010年1月21日
星期三2010年2月3 日星期三
通常情况下会像下面这样做
DateTime dt;
DateTime.TryParseExact(value, "dddd d MMMM yyyy", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out dt);
Run Code Online (Sandbox Code Playgroud)
但由于字符串中的'th','st'或'rd',这不起作用
更新
似乎DateTime 不支持格式化 'th','st','rd'等,因此在解析之前需要剥离它们.鲁本斯法里亚斯在下面提供了一个很好的正则表达式.
Rub*_*ias 15
脱掉它们怎么样?
string value = "Wednesday 13th January 2010";
DateTime dt;
DateTime.TryParseExact(
Regex.Replace(value, @"(\w+ \d+)\w+ (\w+ \d+)", "$1 $2"),
"dddd d MMMM yyyy",
DateTimeFormatInfo.InvariantInfo,
DateTimeStyles.None, out dt);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2489 次 |
| 最近记录: |