如果我有以下格式的字符串,如何获取纪元?
1/30/2017 11:14:55 AM
以下不起作用:
$ date -j '1/30/2017 11:14:55 AM' +'%m/%d/%Y %H:%M:%S'
date: illegal time format
答案1
只需使用以下命令指定输入格式-f
:
$ date -jf '%m/%d/%Y %H:%M:%S %p' '1/30/2017 11:14:55 AM' '+%m/%d/%Y %H:%M:%S'
01/30/2017 11:14:55
接下来+
是输出格式。如果你想要纪元时间,那就是+%s
。
(请注意,该代码中没有任何bash
特定内容。该代码在任何 shell 中都会被相同地解析,甚至是非 Bourne 类的 shell。date
不是bash
内置命令,这里是date
在文件系统上找到的命令,特别是支持这些-f
/ BSD 扩展在非BSD系统上,无论-j
shell 是或其他,该命令都可能无法工作bash
。zsh
ksh93
bash