LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > Linux教程 >

Linux时间转化date和unix时间

时间:2015-02-26 10:17来源:firefoxbug.com 编辑:firefoxbug 点击:
时间相关参数列表 %H : 小时(00..23)%I : 小时(01..12)%k : 小时(0..23)%l : 小时(1..12)%M : 分钟(00..59)%p : 显示本地 AM 或 PM%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)%s : 从 1970 年 1 月 1 日 0
时间相关参数列表
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%M : 分钟(00..59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区 %a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接显示日期与时间
%d : 日 (01..31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)

Linux date命令转换时间

  • date指定格式输出
$ date +"%Y-%m-%d %H:%M:%S"
2014-11-21 23:59:37

将日期转换为Unix时间戳

  • 当前时间转换成unix时间戳:
$ date +%s

1361542433
  • 转换指定日期为Unix时间戳:
$ date -d "2008-01-01 00:00:00" +%s
1199116800

$ date -d 2008-01-01 +%s
1199116800

$ date -d 20080101 +%s
1199116800

例外: 有一种场景date格式是连续的(没找到date命令怎么转换成unix)

$ echo 20080101010101 | awk '{print substr($0,1,4)"-"substr($0,5,2)"-"substr($0,7,2)" "substr($0,9,2)":"substr($0,11,2)":"substr($0,13,2) }'

2008-01-01 01:01:01

$ date -d "2008-01-01 01:01:01" +%s
1199120461

将Unix时间戳转换为日期时间

  • 指定输出格式
$ date -d @1199116800 +"%Y-%m-%d %H:%M:%S"
2008-00-01 00:00:00
  • 当前时间转换成指定格式
date -d @`date +%s` +"%Y-%m-%d %H:%M:%S"
等价于
date +"%Y-%m-%d %H:%M:%S"

日期格式之间转换

$ date -d "2008-01-01 00:00:00" +%Y-%M-%d" "%H:%M:%S
2008-00-01 00:00:00

$ date -d "2008-01-01 00:00:00" +"%Y%M%d %H%M%S"
20080001 000000

$ date -d "2008-01-01 00:00:00" +"%Y/%M/%d %H:%M:%S"
2008/00/01 00:00:00

Python时间转换

  • 获取当前主机unix time
time.mktime(datetime.datetime.now().timetuple())
  • unix time转datetime
datetime.datetime.fromtimestamp(int("1284101485")).strftime('%Y-%m-%d %H:%M:%S')
  • datetime转unix time
time.mktime(datetime.datetime.strptime(time,"%Y-%m-%d %H:%M:%S").timetuple())

转载请保留固定链接: https://linuxeye.com/Linux/2211.html

------分隔线----------------------------
标签:linux
栏目列表
推荐内容