默认情况下,日期的数字区域以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则是将日历时间转换成
国际标准时间
)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)