gojira.net
linux date时间相关参数列表:
[php]
%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)
[/php]
Linux date命令转换时间
date按指定格式输出
[php]
$ date +"%Y-%m-%d %H:%M:%S"
2014-11-21 23:59:37
[/php]
将日期转换为Unix时间戳
将当前时间转换成unix时间戳:
[php]
$ date +%s
1361542433
[/php]
转换指定日期为Unix时间戳:
[php]
$ date -d "2008-01-01 00:00:00" +%s
1199116800
$ date -d 2008-01-01 +%s
1199116800
$ date -d 20080101 +%s
1199116800
[/php]
例外: 有一种场景date格式是连续的【没找到date命令怎么转换成unix :( 】
[php]
$ 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
[/php]
将Unix时间戳转换为日期时间
指定输出格式
[php]
$ date -d @1199116800 +"%Y-%m-%d %H:%M:%S"
2008-00-01 00:00:00
[/php]
当前时间转换成指定格式
[php]
date -d @`date +%s` +"%Y-%m-%d %H:%M:%S"
等价于
date +"%Y-%m-%d %H:%M:%S"
[/php]
日期格式之间转换
[php]
$ 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
[/php]
Python时间转换
获取当前主机unix time
[php]
time.mktime(datetime.datetime.now().timetuple())
[/php]
unix time转datetime
[php]
datetime.datetime.fromtimestamp(int("1284101485")).strftime('%Y-%m-%d %H:%M:%S')
[/php]
datetime转unix time
[php]
time.mktime(datetime.datetime.strptime(time,"%Y-%m-%d %H:%M:%S").timetuple())
[/php]