利用Linux时间戳快速转换时间(linux时间戳转换时间)

一种轻松实现Linux时间戳(timestamp)和文本格式法表示时间之间转换的方法就是利用date指令。与其它Unix/Linux指令一样,date指令也可以从管道、文件或文件描述符获取输入,并将输出通过管道或别的文件或文件描述符输出,它除了支持时间戳转换格式,还允许输出固定字符串,使得脚本中有更多时间操作的能力。

要将Unix时间戳(Unix timestamp)转换为文本格式,可以使用date指令,date -d @ 时间戳 格式,其中,-d选项表示取得时间戳转换成文本格式,@前缀表示该参数是一个Unix时间戳。例如,将时间戳1550049000转换为文本格式,使用date -d @ 1550049000命令,转换结果的就是Wed Feb 6 11:50:00 2019。

另外,要将文本格式的时间转换为Unix时间戳,也可以使用date指令,date +%s 时间格式,其中,+%s选项表示将参数转换为时间戳输出,后面的参数表示时间格式,文本格式的时间通常为YEAR-MONTH-DAY hour:minute:second,例如,将Wed Feb 6 11:50:00 2019转换为Unix时间戳,使用date +%s “Wed Feb 6 11:50:00 2019” 命令,转换结果的就是1550049000。

另外,还可以使用另一种指令来实现理解快速时间戳转换,那就是stat指令,stat指令会转换一个文件的变更时间、访问时间和文件创建时间,两者的不同之处在于它支持任意文件和文件系统,而且支持date之外的其他选项,例如输出目标文件的详细信息,可以为脚本获取更多信息细节。

总之,通过使用date和stat两个指令,可以快速、方便快捷的实现Unix时间戳和文本格式的时间之间的转换,而且date指令可以从管道文件或文件描述符获取输入,有效地为脚本赋能添加更多时间操作能力。


数据运维技术 » 利用Linux时间戳快速转换时间(linux时间戳转换时间)