ParseExact 日期时间错误
ParseExact DateTime error
我有一个 DateTime 字符串列表:dd.MM.yyyy H:mm:ss(时间是 24 小时格式,但小时是个位数:6
而不是 06
)
- 14.12.2016 6:20:21
- 15.12.2016 8:30:00
- 16.12.2016 12:30:00
- 17.12.2016 14:33:00
- 2016 年 12 月 18 日 18:10:00
我正在尝试将字符串值准确解析为 DateTime 对象,如下所示:
DateTime.ParseExact(dt, "dd.MM.yyyy H:mm:ss", CultureInfo.InvariantCulture)
(dt 是列表中的字符串值)
问题是我收到一条错误消息,指出该字符串不是有效的 DateTime ...
使用当前格式,列表中的第一个和第二个值工作正常,当它到达第三个时 'boooom' 我得到错误。
我的格式是否遗漏了什么?
使用接受有效格式数组的 DateTime.ParseExact 的重载:
string[] formats = { "dd.MM.yyyy H:mm:ss", "dd.MM.yyyy HH:mm:ss" };
var result = DateTime.ParseExact(dt, formats, CultureInfo.InvariantCulture, 0);
更新: 正如其他人指出的那样,H
应该同时匹配 one-digit 和 two-digit 小时,所以其他事情正在发生。以下代码在我的系统 (.NET 4.5.2) 上成功运行:
string dt = "16.12.2016 12:30:00";
var result = DateTime.ParseExact(dt, "dd.MM.yyyy H:mm:ss", CultureInfo.InvariantCulture);
我必须准确解析使用小时、分钟和秒,然后使用 ToString
方法转换为月、日和年格式
$myStringDate=[Datetime]::ParseExact($item.myDateObject,'MM/dd/yyyy H:mm:ss',$null).ToString('MM/dd/yyyy')
我有一个 DateTime 字符串列表:dd.MM.yyyy H:mm:ss(时间是 24 小时格式,但小时是个位数:6
而不是 06
)
- 14.12.2016 6:20:21
- 15.12.2016 8:30:00
- 16.12.2016 12:30:00
- 17.12.2016 14:33:00
- 2016 年 12 月 18 日 18:10:00
我正在尝试将字符串值准确解析为 DateTime 对象,如下所示:
DateTime.ParseExact(dt, "dd.MM.yyyy H:mm:ss", CultureInfo.InvariantCulture)
(dt 是列表中的字符串值)
问题是我收到一条错误消息,指出该字符串不是有效的 DateTime ...
使用当前格式,列表中的第一个和第二个值工作正常,当它到达第三个时 'boooom' 我得到错误。
我的格式是否遗漏了什么?
使用接受有效格式数组的 DateTime.ParseExact 的重载:
string[] formats = { "dd.MM.yyyy H:mm:ss", "dd.MM.yyyy HH:mm:ss" };
var result = DateTime.ParseExact(dt, formats, CultureInfo.InvariantCulture, 0);
更新: 正如其他人指出的那样,H
应该同时匹配 one-digit 和 two-digit 小时,所以其他事情正在发生。以下代码在我的系统 (.NET 4.5.2) 上成功运行:
string dt = "16.12.2016 12:30:00";
var result = DateTime.ParseExact(dt, "dd.MM.yyyy H:mm:ss", CultureInfo.InvariantCulture);
我必须准确解析使用小时、分钟和秒,然后使用 ToString
方法转换为月、日和年格式
$myStringDate=[Datetime]::ParseExact($item.myDateObject,'MM/dd/yyyy H:mm:ss',$null).ToString('MM/dd/yyyy')