如何在腾讯云CVM中使用Date命令

date命令显示当前日期和时间。它还可用于以您指定的格式显示或计算日期。或使用它来设置系统时钟。

个人推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器

使用Linux date命令

如果在没有选项的情况下使用,该date命令将显示当前系统日期和时间,包括星期几,月份,时间,时区和年份:

date
Thu Apr 13 10:04:04 EDT 2017

需要指定日期,您可以使用-d标记:

date -d "1974-01-04"
Fri Jan  4 00:00:00 EST 1974

date有许多显示格式选项。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-weeknext-weeklast-monthnext-monthlast-year,和next-year

从UTC创建(1970年1月1日)到此刻的秒数

date有其他令人惊讶的用途。例如,它可用于将给定日期/时间转换为Unix纪元时间(自1970年1月1日00:00:00以来的秒数)并返回。以下示例将显示从纪元到当前时间的秒数:

$ date +%s
1282163756

从UTC创建(1970年1月1日)到指定日期/时间的秒数

$ date -d "1974-01-04" +"%s"
126507600

从UTC创建(1970年1月1日)开始按给定的秒速算日期

$ 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》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

crossdomain.xml文件配置不当利用手法

不恰当的crossdomain.xml配置对存放了敏感信息的域来说是具有很大风险的。可能导致敏感信息被窃取和请求伪造。攻击者不仅仅可以发送请求,还可以读取服务器...

4507
来自专栏北京马哥教育

记一次内存占用问题的调查过程

马哥linux运维 | 最专业的linux培训机构 ---- 最近在维护一台CentOS服务器的时候,发现内存无端"损失"了许多,free和ps统计的结果相差...

4704
来自专栏.net core新时代

数据字典生成工具之旅系列文章导航

数据字典生成工具之旅系列文章导航 宣传语 数据字典生成工具、数据字典文档生成工具、NPOI入门、NPOI下载、NPOI中文教程、NPOI实例、DocX组件操作W...

2519
来自专栏鸿的学习笔记

DBDB: 一个简单的key/value数据库(一)

导论 DBDB(Dog Bed Database)是基于Python实现的key/value数据库。 它将key值与value值关联,并将该关联存储在磁盘上方便...

1193
来自专栏Spark学习技巧

spark源码系列之内部通讯的三种机制

本文是以spark1.6.0的源码为例讲解。 Spark为协调各个组件完成任务及内部任务处理采用了多种方式进行了各个组件之间的通讯。总共三个部分牵涉的功能是: ...

3178
来自专栏从流域到海域

《笨办法学Python》 第2课手记

《笨办法学Python》 第2课手记 这节课的内容很简单,目的是要探求#号的作用,目前我们已知的内容是,作为注释的标识符。 在Python中输入如下代码并运行。...

2198
来自专栏小鹏的专栏

语音剪切程序

Matlab程序: function aucut(t,overlap)% t 为切割秒数,overlap 为样本重叠秒数 mkdir('classical...

2115
来自专栏FreeBuf

Offset2lib攻击测试:看我如何全面绕过64位Linux的内核防护

前言 免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! 地址空间布局随机化(ASLR),在你知道目标代码或数据定位的前...

2819
来自专栏逆向与安全

360加固保动态脱壳

1.我是通过对dvmLoadNativeCode函数下断,分析它执行流程最后到达壳入口(如果您有更好的办法还请告知,感谢中...),函数dvmLoadNativ...

1810
来自专栏数据和云

当Java虚拟机遇上Linux Arena内存池

作者简介 刘韬,云和恩墨中间件服务交付团队专家 Java开发出身,10年WebLogic相关开发、运维工作经验,熟悉SOA、现代业务系统架构中各层组件,尤其擅长...

7587

扫码关注云+社区

领取腾讯云代金券