我有以下字符串,它是从日志文件中的条目中提取的。
$d = "19/09/2014 22:41:27"
但是,我需要将其转换为
2014-09-19 22:41:27
这样我就可以将其与日志文件的其他部分一起导出到 MySQL 数据库中。
但我一生都找不到办法做到这一点。我本来希望找到像 set-dateFormat 这样的东西,它会简单地重新映射字符串的组成部分,但它似乎不存在。
我尝试了以下各种变体:
$a = "19/09/2014 22:41:27"
$d = [datetime]::ParseExact($a, "dd/MM/yyyy hh:mm:ss", $null)
$e = "{0:yyyymmddhhmmss}" -f [datetime]$d
但是一切都会返回错误:
String was not recognized as a valid DateTime.
获取我需要的格式的最佳方式是什么?
最佳答案
在其他一些博客的帮助下快速玩了一下,提供了以下内容,与您自己的非常相似。可能有一种方法可以使其更加简化,但它会创建您需要的日期时间对象。之后操作输出应该很简单。
$theDTString = "19/09/2014 22:41:27".toString()
$theDateTimeObject = ([datetime]::ParseExact($theDTString,"dd/MM/yyyy HH:mm:ss",$null))
$theDateTimeObject.year.toString() + "-" + $theDateTimeObject.month.toString() +"-"+
$theDateTimeObject.day.toString() + " " + $theDateTimeObject.Hour.toString() + ":" +$theDateTimeObject.Minute.toString() + ":" + $theDateTimeObject.Second.toString()
关于datetime - 在 PowerShell v2 中将日期时间字符串转换为不同的日期时间字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25997362/