datetime - 在 PowerShell v2 中将日期时间字符串转换为不同的日期时间字符串

标签 datetime powershell-2.0

我有以下字符串,它是从日志文件中的条目中提取的。

$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/

相关文章:

powershell - 进入IF但退出到ELSE

parsing - 如何在Powershell中处理参数的多个选项?

c# - 如果更改站点语言,转换的日期时间格式也会更改

mysql - 如何优化搜索可为 null 的开始日期或结束日期的 SQL 查询?

Ruby - 选择具有最新日期的数组条目

deployment - 在Get-TfsItemHistory之后遍历变更集-Powershell

PowerShell 脚本数字签名错误

c# - 如何将时区添加到 DateTime.UtcNow?

python - 将多个日期时间格式化为一个字符串

powershell - Powershell if -notlike问题