我的工作需要天天跟报表数据打交道,在交换的文件中,一般时间的字段内容都是 Unix 时间。为了检查数据的正确性,不可避免地需要转换 Unix 时间到人类可读的字面时间。
下面想分享的是一个在 Shell 下转换 Unix 时间到字面的小方法。与前面几篇一样,这个小 shell 函数仍然可以放在 ~/.bashrc 中方便快捷使用。
# 转换 Unix 时间到本地时间字符串
function ctime()
{
date -d "UTC 1970-01-01 $1 secs"
}
使用方法很简单:
$ ctime 1234567890
Sat Feb 14 07:31:30 CST 2009
对 date 命令熟悉的同学会说,date 不是已经有直接转 Unix 时间的参数了吗?
$ date -d @1234567890
Sat Feb 14 07:31:30 2009
但是不好意思的是,小弟有时候用的 date 程序好老,不支持 @ 符号。
$ date --version
date (coreutils) 5.2.1
Written by David MacKenzie.
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.