date命令
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,date命令是显示或设置系统时间与日期。很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以
千家信息网最后更新 2026年11月03日date命令语法
选项
参数
日期格式字符串列表
实例
date命令是显示或设置系统时间与日期。
很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。
语法
date(选项)(参数)
选项
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;-u:显示GMT;--help:在线帮助;--version:显示版本信息。
参数
<+时间日期格式>:指定显示时使用的日期时间格式。
日期格式字符串列表
%H 小时,24小时制(00~23)%I 小时,12小时制(01~12)%k 小时,24小时制(0~23)%l 小时,12小时制(1~12)%M 分钟(00~59)%p 显示出AM或PM%r 显示时间,12小时制(hh:mm:ss %p)%s 从1970年1月1日00:00:00到目前经历的秒数,(表示unix时间戳的秒数)%S 显示秒(00~59)%T 显示时间,24小时制(hh:mm:ss)%X 显示时间的格式(%H:%M:%S)%Z 显示时区,日期域(CST)%a 星期的简称(Sun~Sat)%A 星期的全称(Sunday~Saturday)%h,%b 月的简称(Jan~Dec)%B 月的全称(January~December)%c 日期和时间(Tue Nov 20 14:12:58 2012)%d 一个月的第几天(01~31)%x,%D 日期(mm/dd/yy)%j 一年的第几天(001~366)%m 月份(01~12)%w 一个星期的第几天(0代表星期天)%W 一年的第几个星期(00~53,星期一为第一天)%y 年的最后两个数字(1999则是99)
实例
格式化输出:
date +"%Y-%m-%d"2009-12-07
输出昨天日期:
date -d "1 day ago" +"%Y-%m-%d"2012-11-19
2秒后输出:
date -d "2 second" +"%Y-%m-%d %H:%M.%S"2012-11-20 14:21.31
传说中的 1234567890 秒:
date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S"2009-02-13 23:02:30
普通转格式:
date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"2009/12/12 00:00.00
apache格式转换:
date -d "Dec 5, 2009 12:00:37 AM" +"%Y-%m-%d %H:%M.%S"2009-12-05 00:00.37
格式转换后时间游走:
date -d "Dec 5, 2009 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"2007-12-05 00:00.37
加减操作:
date +%Y%m%d //显示前天年月日date -d "+1 day" +%Y%m%d //显示前一天的日期date -d "-1 day" +%Y%m%d //显示后一天的日期date -d "-1 month" +%Y%m%d //显示上一月的日期date -d "+1 month" +%Y%m%d //显示下一月的日期date -d "-1 year" +%Y%m%d //显示前一年的日期date -d "+1 year" +%Y%m%d //显示下一年的日期
设定时间:
date -s //设置当前时间,只有root权限才能设置,其他只能查看date -s 20120523 //设置成20120523,这样会把具体时间设置成空00:00:00date -s 01:01:01 //设置具体时间,不会对日期做更改date -s "01:01:01 2012-05-23" //这样可以设置全部时间date -s "01:01:01 20120523" //这样可以设置全部时间date -s "2012-05-23 01:01:01" //这样可以设置全部时间date -s "20120523 01:01:01" //这样可以设置全部时间
有时需要检查一组命令花费的时间,举例:
#!/bin/bashstart=$(date +%s)nmap man.linuxde.net &> /dev/nullend=$(date +%s)difference=$(( end - start ))echo $difference seconds.
获取当前时间的unix时间戳
date +%s
使用date命令获取一个特定时间的unix时间戳
上面演示的是获取2014年10月8号的unix时间戳
时间
日期
小时
格式
星期
字符
字符串
命令
输出
全称
参数
引号
系统
脚本
不同
普通
世界
两个
代表
传说
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
耶加雪菲
百单网互联网科技有限公司
喔噻互联网科技有限公司
互联网科技公司起名
互联网科技行业发展
互联网科技有限公司图片
亿人帮互联网科技
联恩商钥互联网科技有限公司
互联网科技与管理
互联网对科技的发展
互联网科技产业特征
科技类公司包括互联网吗
互联网在线教育科技创业
雨阳互联网卡科技有限公司
产业互联网科技服务公司
富国互联网金融科技混合基金
互联网科技股为什么大涨
容联科技互联网电商
唯美互联网科技
米泉互联网科技专业怎么样
有格互联网科技
互联网加科技
上海卓越科技互联网
互联网科技行业发展
与互联网科技公司
碳银互联网科技
长亮科技互联网金融
互联网校园科技培训
互联网科技股为什么大涨
杭州科技互联网公司有哪些