【问题标题】:How to convert unix timestamp to date and time in windows?如何在 Windows 中将 unix 时间戳转换为日期和时间?
【发布时间】:2020-05-04 02:50:14
【问题描述】:

每次输入

date -d @1588560000

在 windows 命令提示符下,我收到以下消息

C:\Users\msaad>date -d "@1588501800"
The system cannot accept the date entered.
Enter the new date: (mm-dd-yy)`

谁能帮我解决这个问题?

【问题讨论】:

  • this 会回答您的问题吗?你也应该更具体一点。您将问题标记为“powershell”,但表示您正在使用“命令提示符”。那你用什么?如果您使用 PowerShell,您可以向我们展示Get-Command date 的输出,以告诉我们您正在使用的工具的更多信息。

标签: powershell unix-timestamp


【解决方案1】:

我将 unix 时间戳日期设置为 0 并添加该秒数:

(Get-Date -Date "1970-01-01 00:00:00Z").toUniversalTime().addSeconds(1588560000)

【讨论】:

  • 在 UTC 或 01.01.1970 00:00:00 在您的特定时区中是否会增加 1588560000 秒?
  • @Thomas 采用 UTC
  • (Get-Date 01.01.1970).Kind 在我的机器(PowerShell 5.1)上返回Unspecified,这就是我问的原因。当您想将此日期与不是Unspecified 的其他日期一起处理时,这可能会导致模棱两可,例如LocalUtc (see docs)。但 UNIX 时代绝对是 UTC。
  • @Thomas 是正确的。您必须将 unix 纪元日期创建为 UTC,而您的代码不会这样做。
  • @Theo 好的,我已经更新了答案,现在它返回 kind Utc
猜你喜欢
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
  • 2011-02-11
  • 2011-08-23
  • 1970-01-01
  • 2016-06-07
相关资源
最近更新 更多