Powershell 将dd-MMM-yyyy转换为unix时间

Powershell 将dd-MMM-yyyy转换为unix时间,powershell,powershell-3.0,Powershell,Powershell 3.0,我从文件中提取了一个字符串,格式为dd-MMM-yyyy,我想将其转换为unixtime,以便监视 例如: 2017年7月19日 我想显示为: 1500422400 根据一些搜索,我正在尝试以下操作: $dateValue = "19 Jul 2017" $date1 = Get-Date -Date "01/01/1970" $date2 = Get-Date -Date $dateValue $unixtime = Get-Date (New-TimeSpan -Start $date1

我从文件中提取了一个字符串,格式为
dd-MMM-yyyy
,我想将其转换为
unixtime
,以便监视

例如:

2017年7月19日
我想显示为:

1500422400
根据一些搜索,我正在尝试以下操作:

$dateValue = "19 Jul 2017"
$date1 = Get-Date -Date "01/01/1970"
$date2 = Get-Date -Date $dateValue
$unixtime = Get-Date (New-TimeSpan -Start $date1 -End $date2).TotalSeconds
我得到以下错误:

获取日期:无法绑定参数“日期”。无法转换值 “1530662400”键入“System.DateTime”。错误:“字符串不正确。” 已识别为有效的日期时间。“在D:\cppib\bin\snlStatus.ps1:19 字符:22 +$unixtime=获取日期(新时间跨度-开始$date1-结束$date2)。总秒数 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:InvalidArgument:(:)[Get Date],ParameterBindingException +FullyQualifiedErrorId:CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.GetDateCommand


删除列表行中的
Get Date
,因为它正试图将时间跨度的总秒数转换为
DateTime

$dateValue = "19 Jul 2017"
$unixtime = ((Get-Date $dateValue)-(Get-Date "01 JAN 1970")).TotalSeconds
Write-Host $unixtime
进一步检查发现这一点

$dateValue = "19 Jul 2017"
$unixtime = Get-Date $dateValue -UFormat %s
Write-Host $unixtime
结果还是一样的


来源:

删除列表行中的获取日期
$dateValue = "19 Jul 2017"
$unixtime = Get-Date $dateValue -UFormat %s
Write-Host $unixtime