由于最近需要用motion来将进行视频监控,将移动的物体拍下来并实现将图片保存在开发板上,保存的格式为“年-月-日 时:分:秒”,但是发现系统的时间不对,后来了解后才知道linux系统分为系统时钟和硬件时钟,接下来是叫我们如何将时间修改为我们当前的时间,例如现在是2016年4月30日 16:52。
—————————————————————————————————————————————————————————
首先我们先了解一下硬件时钟和系统时钟的概念:
硬件时钟是存储在CMOS里的时钟,关机后该时钟依然运行,主板的电池为它供电。
系统时钟则是我们当前显示的时间。
当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。
—————————————————————————————————————————————————————————
~ >: date
Sun Jan 2 12:15:46 MST 2000
~ >: hwclock
Sun Jan 2 19:19:22 2000 0.000000 seconds
date是用来显示系统时钟的,hwclock是用来显示硬件时钟的,这里可以发现明明现在是2016-4-30可是系统时钟还是2000-1-20
和硬件时钟一样,这个明显不是我们想要的。所以我们需要去改变它。
这里需要重点说一下hwclock这个命令;
===================================================================================================================
hwclock命令既可以将硬件时钟同步到系统时钟,也可以将系统时钟同步到硬件时钟。
hwclock -s, --hctosys 将硬件时钟同步到系统时钟(set the system time from the hardware clock )
hwclock -w, --systohc 将系统时钟同步到硬件时钟(set the hardware clock to the current system time )
===================================================================================================================
修改思路:
既然系统时钟一上电是去读的硬件时钟,那么我们就只需要将硬件时钟改成我们需要的即可。
首先我们在开发板上修改一下系统时钟,应该先用date 043017372016.38 设置成2016年4月30日17点37分38秒,然后将硬件时钟改变。
hwclock -w
~ >: hwclock
Sat Apr 30 17:37:38 2016 0.000000 seconds
~ >: date
Sat Apr 30 17:37:46 MDT 2016
******************************************************************************************************************
不过我们重启之后发现了这个问题
~ >: date
Sat Apr 30 11:38:53 MDT 2016
~ >: date --utc
Sat Apr 30 17:38:56 UTC 2016
~ >: hwclock
Sat Apr 30 17:38:59 2016 0.000000 seconds
~ >: hwclock --utc
Sat Apr 30 11:38:17 2016 0.000000 seconds
*******************************************************************************************************************
这里就涉及到了utc时间和本地时间,有兴趣的同学可以去百度一下。
从上面的结果看来,上电重启之后系统时间是读取的硬件时间的utc时间去了,并不是我们想要的本地时间,而我保存图片是需要本地时间。
所以这里需要执行一下脚本,使上电之后系统时间去读取硬件时间的本地时间。
/etc/init.d 中创建脚本S1_clock
#!/bin/sh
hwclock -s
然后我们再上电重启
~ >: date
Sat Apr 30 17:45:54 MDT 2016
~ >: hwclock
Sat Apr 30 17:45:58 2016 0.000000 seconds
OK了!
2016/6/2更新 Mark一下
参考这个博客将时间同步进行到底,因为我开发板过过几天时间又变了~下面这个帖子可以完全解决!
http://my.oschina.net/myaniu/blog/182959