如何将以微秒为单位的纪元时间转换为可读格式

时间:2018-04-04 15:38:51

标签: c++ c bash tcl

我有这样的整数,1522711404881438,它是以微秒为单位的纪元时间。如何将其转换为人类可读格式,例如2018-04-03 11:22:33.123456。我当地的时间是格林威治标准时间-7:00时区。

谢谢!

2 个答案:

答案 0 :(得分:2)

我不认为您正在寻找一个bash答案,但是您将其包含在标签列表中并且非常简单:

t=1522711404881438
date -d @${t%??????}

(使用BSD日期,您需要date -jf %s {t%??????}

鉴于此$tTZ=PST8PDT,结果为

  

Mon Apr 2 16:23:24 PDT 2018

要获得所需的格式,请将其指定为日期:

t=1522711404881438
date -d @${t%??????}.${t:10} +"%Y-%m-%d %T.%N"
  

2018-04-02 16:23:24.881438000

(这需要GNU日期)

答案 1 :(得分:0)

在shell中:

date -d @1522711404881438

来自javascript:



console.log(new Date(1522711404881438).toLocaleString('fr-FR'))
console.log(new Date(1522711404881438).toLocaleString('en-US'))