linux上修改时间
来源:互联网 发布:中国茶叶出口数据2017 编辑:程序博客网 时间:2024/04/24 11:44
由于最近需要用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
- linux上修改时间
- Linux上 查看时间/修改时间,date命令
- linux修改文件时间
- 修改Linux的时间
- linux 修改系统时间
- linux修改系统时间
- Linux修改系统时间
- Linux修改文件时间
- linux 修改时间
- Linux如何修改时间
- linux修改系统时间
- Linux修改当前时间
- linux 修改日期时间
- linux 修改时间 date
- linux系统时间修改
- 修改linux时间
- Linux 修改系统时间
- linux下修改时间
- 十一、图的存储---(2)邻接矩阵和邻接表
- Leetcode - Compare Version Numbers
- HDU 1166 线段树
- NSURLSession的介绍和说明
- Android 发布项目到 jcenter 遇到的坑
- linux上修改时间
- iOS视图控制器编程指南 --- 视图控制器层次结构
- 1026. 程序运行时间(15)
- 英语的五种基本句型
- 正向代理与反向代理
- Caffe学习系列(3):im2col
- 《UNIX环境高级编程》(进程环境)
- vim常用命令示意图
- poj1001