date命令
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,date命令是显示或设置系统时间与日期。很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
网络安全法中网络安全是指
赛默飞 服务器安装
我的世界服务器落地锁
ctf网络安全大赛电脑使用
服务器怎样设置不能关机
支付宝网络技术有限公司旗下品牌
无线传感器网络技术的讨论
测评要求和网络安全保护
哪家个人软件开发好
网络安全温哲
软件开发合同未完成纠纷
明日之后如何优化服务器
多部门联合网络安全执法
oracle数据库提交语句
镇江肯德基网络安全主题餐厅
ps是什么软件开发的
乌云黑客网络技术
无线网络技术在制造业的应用
默纳克用服务器开电梯
2020服务器销售量排名
网络安全保卫总队 业务
广州物流软件开发机构
怎么查看魔兽世界服务器
校园网络安全宣传
深圳聚煋互联网科技有限公司
美国互联网科技巨头监管
网络技术服务提供者包括哪些
互联网科技股逆势上涨
fm2015 03数据库
服务器怎么登陆mysql