我有来自AD的18位时间戳,例如131963400057892956,我想将其转换为Linux中任何可读的内容。
我尝试了这个
echo '131963400057892956/864000000000-109207' | bc |xargs -I DATE date -d @DATE
我得到星期四1月1日17:05:28 +05 1970
但这是错误的方法..如何使其正确?
你可以使用awk执行此操作,使用从如何将LDAP时间戳转换为Unix时间戳中获得的所需计算来处理字符串,并通过awk的strftime函数运行该字符串以获取语言环境日期:
awk '{dat=($0/10000000)-11644473600;print strftime("%c",dat) }' <<< "131963400057892956"
Wed 06 Mar 2019 10:00:05 GMT
根据需要更改%c。
epochconverter.com/ldap获取Epoch / Unix时间:1551866405 GMT:2019年3月6日,星期三г.,10:00:05
好的,我已经修改了答案。