我现在正在做的一段代码是将日期/时间戳转换为毫秒。
日期参数不能在我的Unix机器上工作,就像-d我收到一条错误信息 (日期:非法选项 - d 用法:日期[-u] [+字段描述符])。
所以要求如下所示我有一个输入日期格式如下,我想将其转换为毫秒。实施例
Input Date = 2017-09-19 19:36:12.763
Output (in milliseconds) = 1567299281726 (something similar)
希望现在有意义吗?
答案 0 :(得分:1)
与perl命令类似,GNU date命令不处理毫秒。你可以这样做(用bash或ksh)
input_date="2017-09-19 19:36:12.763"
IFS=. read -r datetime milliseconds <<<"$input_date"
date -d "$datetime" "+%s$milliseconds"
1505864172763
然后,走另一条路:
timestamp=1505864172763
milliseconds=$(( timestamp % 1000 ))
date -d "@$((timestamp / 1000))" "+%F %T.$milliseconds"
2017-09-19 19:36:12.763