如何在PowerShell中将毫秒转换为日期和时间?

3
我想将毫秒转换为日期时间,格式为mm/dd/yyyy,在PowerShell中,我的代码如下:
$data+= $dataList.Rows[$i]["ROOM_LASTVISITDATE"].ToString() + "`t"
< p>将1278504562790转换为日期时间格式,我该如何在PowerShell中实现,请帮忙。谢谢。


1
样例输入的预期日期是什么?此外,请参见处理秒的相关问题。相关问题 - vonPryz
1
这听起来像是两个独立的问题:“如何从Unix Epoch格式解析DateTime?”和“如何使用自定义格式字符串格式化DateTime”。这两个问题已经有答案了:https://dev59.com/xGgv5IYBdhLWcg3wMN60 和 https://dev59.com/ZHE95IYBdhLWcg3wlu0g。 - Joshua Shearer
2个回答

4

要使用Powershell将一个 Epoch/Unix 时间戳 转换为人类可读日期,可以使用 DateTimeOffset 型别。

[datetimeoffset]::FromUnixTimeMilliseconds(1278504562790).DateTime

接下来您的代码可能会像这样

$lastVisited = $dataList.Rows[$i]["ROOM_LASTVISITDATE"].ToString()
$data += [datetimeoffset]::FromUnixTimeMilliseconds($lastVisited) + "`t"


3

这将把当前时间的小时/分钟/秒/毫秒添加到提供的时间戳中,因为您没有将它们设置为0。为了正确处理这个问题,请在第一行中更改参数为Get-Date -Day 1 -Month 1 -Year 1970 -Hour 0 -Minute 0 -Second 0 -Millisecond 0 - Nameless Voice

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接