bash - 有没有一种直接的方法可以在 MacO 上转换基于毫秒的时间戳?

标签 bash macos shell date

EpochConverter将像 1586775709496 这样的时间戳值转换为 Monday, April 13, 2020 11:01:49.496 AM

不幸的是,MacOs 上的date 工具需要,而不是毫秒,并且给出了错误的年份:

> date -r 1586775709496
Thu Dec  2 15:24:56 CET 52252

现有 question只解释显而易见的事情:您可以除以 1000(截去尾随的 3 位数字),内置的 date 工具将起作用。

但是:这不是我要找的。我正在寻找一种“直接”的方式来将这种基于毫秒的时间戳转换为“人类可读”包括毫秒。有什么方法可以实现吗?

最佳答案

timestamp=1586775709496
ms=$(( $timestamp % 1000 ))
echo "$(date -r  $(( $timestamp / 1000 )) +"%a, %b %d, %Y %H:%M:%S").$ms"
Mon, Apr 13, 2020 12:01:49.496

您可以编辑日期格式字符串以获得您需要的准确结果。

关于bash - 有没有一种直接的方法可以在 MacO 上转换基于毫秒的时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61363936/

相关文章:

python - 剪贴板内容改变时触发事件

ios - 如何以编程方式检查 xib 的文件所有者?

python - 从 Python shell 中执行命令行或 R 脚本文件时出现问题

shell - 如何从 CLI 控制 Cisco IP-Phone?

bash - 等待 Wine 完成运行

python - 执行此命令 ps aux | 的时间超过一个小时awk '{ print $10"\t"$12 }'

macos - Bash 变量字符替换以空字符串或无效命令结束

shell - 在 fish 脚本中添加一个数字

bash - 遍历目录和 zip 中的文件

bash:rsync 选项作为变量