linux怎么将时间戳转换为时间

linux怎么将时间戳转换为时间,第1张

可以使用awk中的内置函数mktime()

awk '{gsub("-"," ",$1)print mktime($1" 0 0 0")}' a.txt它会把第一列的字符串

2016-09-26当作

2016-09-26

0:0:0的时间转化为时间戳,如果不符合时间日期格式的话,转化后是-1,比如上面的“null"字符串,你可以单独做处理。

Linux时间转化方法:

(1)date -d"2008年 12月 17日 星期三 17:27:22 CST" +"%s"

命令将2008年 12月 17日 星期三 17:27:22 CST转化为时间戳

结果:1229515680

(2)将时间戳1123495443 换算成可以识别的年月日分秒

date -d '1970-01-01 UTC 1123495443 seconds'

结果:2005年 08月 08日 星期一 18:04:03 CST

(3)date -d"Mon Jul 17 13:36:28 CST 2006" +"%F %H:%M:%S"

该命令将被转换的时间“Mon Jul 17 13:36:28 CST 2006” 转换为你想要输出的格式+"%F %H:%M:%S"

结果:2006-07-17 13:36:28

Freebsd时间转化方法:

(1)date -j -f "%a %b %d %T %Z %Y" "Wed Dec 17 17:55:36 CST 2008" "+%s"

该命令将时间Wed Dec 17 17:55:36 CST 2008转换为时间戳

结果:1229507736

(2)将时间戳1229507736转换为当前时间

date -r 1229507736

结果:Wed Dec 17 17:55:36 CST 2008

(3)date -j -f "%a %b %d %T %Z %Y" "Mon Jul 17 13:16:11 JST 2006" "+%F %H:%M:%S"

该命令将被转换的时间"`date`" 转换为你想要的格式"+%s"

结果:2006-07-17 13:16:11

补充:

perl下:

将时间戳转换为时间perl -e "print scalar localtime '1209391893'"

PHP下:

生成时间戳方法:mktime(小时,分,秒,月,日,年)

这里是否弄明白了Linux时间转化方法。

首先看看time

的原型:

time_t

time(time_t

*calptr)

//其说明是:若成功则返回时间值,否则返回-1。时间值总是作为

函数值

返回。如果参数不为空(NULL),则时间值也存放在由calptr指向的单元内。(看似的确多余的,仅仅是看似~~)

第二个函数的原型:

struct

tm

*

localtime

(const

time_t

*calptr)//看到了把~参数是指针,所以必须要传递地址,&t取地址。

(顺带提一下~localtime是将

日历时间

转换成本地时间,会考虑到本地时区和

夏时制

标志,而与此类似的一个函数gmtime则是将日历时间转换成

国际标准时间


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/8295539.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存