date命令显示当前日期和时间。它还可用于以您指定的格式显示或计算日期。或使用它来设置系统时钟。
如果在没有选项的情况下使用,该date命令将显示当前系统日期和时间,包括星期几,月份,时间,时区和年份:
date
Thu Apr 13 10:04:04 EDT 2017需要指定日期,您可以使用-d标记:
date -d "1974-01-04"
Fri Jan  4 00:00:00 EST 1974date有许多显示格式选项。date通过在前面加上加号来提供格式化字符串:
date +"Week number: %V Year: %y"
Week number: 33 Year: 10然后输出格式字符串,每个格式标记由其值替换。%V是格式化选项,用于显示当前周数,并%y表示年份的最后两位数字。
运行date --help以显示格式选项列表。
以下是格式化令牌date支持的一小部分示例:
标记  | 内容  | 
|---|---|
%a  | 本机的工作日名称缩写(例如,Sun)  | 
%a  | 本机的完整工作日名称(例如,星期日)  | 
%b  | 本机的月份名称缩写(例如,Jan)  | 
%B  | 本机的完整月份名称(例如,1月)  | 
%C  | 本机的日期和时间(例如,2005年3月3日23:05:25)  | 
%F  | 完整日期; 与%Y-%m-%d相同  | 
%S  | 自1970-01-01 00:00:00 UTC以来的秒数  | 
有关更多详细信息,请运行man date以查看整个手册页。
默认情况下,date使用/etc/localtime中定义的时区。可以使用环境变量TZ覆盖此行为。例如:
$ TZ=GMT date
Fri Aug 20 15:15:36 GMT 2010有效时区在/usr/share/zoneinfo/中定义。
以下示例说明了如何使用date命令在各个时间点查找日期和时间。
$ date -d now
Wed Aug 18 16:47:31 EDT 2010
$ date -d today
Wed Aug 18 16:47:32 EDT 2010
$ date -d yesterday
Tue Aug 17 16:47:33 EDT 2010
$ date -d tomorrow
Thu Aug 19 16:46:34 EDT 2010
$ date -d sunday
Sun Aug 22 00:00:00 EDT 2010
$ date -d last-sunday
Sun Aug 15 00:00:00 EDT 2010其它有效的日期时间字符串包括:last-week,next-week,last-month,next-month,last-year,和next-year。
date有其他令人惊讶的用途。例如,它可用于将给定日期/时间转换为Unix纪元时间(自1970年1月1日00:00:00以来的秒数)并返回。以下示例将显示从纪元到当前时间的秒数:
$ date +%s
1282163756$ date -d "1974-01-04" +"%s"
126507600$ date -d "UTC 1970-01-01 126507600 secs"
Fri Jan  4 00:00:00 EST 1974
$ date -d @126507600
Fri Jan  4 00:00:00 EST 1974$ date -d "1974-01-04" +"%A"
Friday您可以将输出分配给dateshell变量,然后在脚本中使用它。例如:
$ STARTTIME=`date`
$ echo $STARTTIME
Fri Aug 20 11:46:48 EDT 2010
$ sleep 5
$ echo $STARTTIME
Fri Aug 20 11:46:48 EDT 2010您还可以使用日期创建包含当天的文件名:
tar cfz /backup-`date +%F`.tar.gz /home/caker/这会在/home/caker/中创建一个文件名为backup-2018-08-15.tar.gz。
如果您的系统正在运行ntpd,并且您已正确设置时区,则不必更改此设置。但是,如果您发现需要手动设置系统时钟,请使用--set选项。在本例中,我们将日期和时间设置为2018年8月15日星期三下午15:15:
date --set="20180815 15:52"怎样,你学会了嘛?赶快购买服务器尝试下吧! 想要学习更多相关知识,请访问腾讯云云+社区。
参考文献:《How to Use the Date Command in Linux》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。