string - 如何执行尴尬的字符串到日期的转换?
问题描述
我有一系列日期以以下格式存储为字符串:
20 年 6 月 23 日 10:05:59:557
我需要将它们转换为日期以进行比较。
我试过这个:
#$ldate2 = [datetime]::ParseExact($theDate,'MM/dd/yyyy HH:mm:ss:ffff',$null)
和
$ldate2 = [datetime]::ParseExact($theDate,'MM/dd/yyyy',$null)
但两者都会导致脚本出错。
解决方案
您帖子中的示例输入有一个两位数的年份 - 为此您需要yy
格式说明符而不是yyyy
:
[datetime]::ParseExact($theDate, 'MM/dd/yy HH:mm:ss:fff', $null)
如果要将其转换为不同的格式,请像上面一样解析它,然后使用ToString()
orGet-Date -Format
生成目标表示:
$datetime = [datetime]::ParseExact($theDate, 'MM/dd/yy HH:mm:ss:fff', $null)
$datetime.ToString('MM/dd/yyyy')
# or
Get-Date $datetime -Format MM/dd/yyyy
推荐阅读
- mysql - 将 AUTO_INCREMENT 主键字段更改为 NOT NULL 可防止记录插入错误“字段没有默认值”
- html - 在 HTML body 标签中构建 3 个不同的部分
- synthesis - Yosys / abc 使用许多门而不是更好的单片单元
- ios - 如何摆脱适用于 iPhone X/更新版本的 Xcode 11 上的灰色空间?
- pandas - 对列和行求和
- c - 无法拖动或调整自定义框架窗口的大小
- python - Python中的输入显示逻辑
- matlab - 使用蒙特卡洛模拟 + 布朗桥的期权定价
- flutter - Flutter - 在新行中设置文本
- java - Spring Data MongoDB 始终将对象标识为新对象