Linux系统下date函数的用法

Linux系统下date函数的用法,第1张

我们在Linux系统中使用 date --help 可打印出如下信息:

默认情况下,日期的数字区域以0 填充,以下可选标记可以跟在"%"后:

在任何标记之后还允许一个可选的域宽度指定,它是一个十进制数字。

作为一个可选的修饰声明,它可以是E,在可能的情况下使用本地环境关联的

表示方式;或者是O,在可能的情况下使用本地环境关联的数字符号。

date是Linux系统里自带的一个系统命令,用来显示当前的系统时间,不过默认显示的结果里包括很多信息,特别是做为文件名输出时,不是很方便,好在date命令里包含格式化输出的选项。

我们一般使用 date -s 命令来修改系统时间

比如将系统时间设定成2011年7月13日的命令:date -s 07/13/2011

将系统时间设定成11点12分0秒的命令:date -s 11:12:00

注意:这里说的是系统时间,是linux由 *** 作系统维护的。

在系统启动时,Linux *** 作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行 date -s 后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行 clock –w 命令,强制把系统时间写入CMOS。

首先看看time

的原型:

time_t

time(time_t

*calptr)

//其说明是:若成功则返回时间值,否则返回-1。时间值总是作为

函数值

返回。如果参数不为空(NULL),则时间值也存放在由calptr指向的单元内。(看似的确多余的,仅仅是看似~~)

第二个函数的原型:

struct

tm

*

localtime

(const

time_t

*calptr)//看到了把~参数是指针,所以必须要传递地址,&t取地址。

(顺带提一下~localtime是将

日历时间

转换成本地时间,会考虑到本地时区和

夏时制

标志,而与此类似的一个函数gmtime则是将日历时间转换成

国际标准时间


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7510111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存