目录
基础概念
基础语法
打印当前日期
打印纪元时
将日期转换为纪元时
打印要求格式的日期
设置日期和时间
基础概念
Bash可以帮助我们以不同的格式打印日期、设置日期,又或根据日期或时间进行操作等。
在类Unix系统中,日期被存储为一个整数,其大小依照世界标准时间(UTC)1970年1月1日0时0分0秒起所耗费的秒数。这种计时方式称为纪元时或Unix时间。
基础语法
可以用不同的格式来输出、设置日期。
1) 打印当前日期
date
输出样例
2) 打印纪元时
date +%s
输出样例
3) 将日期转换为纪元时
date --date "Jul 09 2023" +%s
输出样例
若想从日期中知道是星期几,可以将后面的%s替换为%A,例如
date --date "Jul 09 2023" +%A
输出样例
转换内容可以参考下表,根据需要将日期进行转换
格式 | 转换内容 |
%A / %a | 星期 |
%I / %H | 小时 |
%M | 分钟 |
%S | 秒 |
%N | 纳秒 |
%y / %Y | 年 |
%b / %B | 月 |
%d | 日 |
%D | 固定格式日期(mm/dd/yy) |
纪元时 | %s |
4) 打印要求格式的日期
date "+%Y %B %d"
输出样例
5) 设置日期和时间
date -s "09 July 2023 11:11:11"
输出样例
拓展:
有时程序上需要计算代码执行耗时,这个是可以通过date指令来完成的。例如想计算一段程序片段的执行耗时,我们可以编写以下代码:
start=$(date +%s) #start和end中间这一段填写代码指令 sleep 5 # 延迟5s end=$(date +%s) delta=$(( end - start)) echo -e "\nTime consumption is $delta seconds."
执行效果: