tag 标签: 时间设置

相关博文
  • 热度 23
    2015-6-27 12:19
    1354 次阅读|
    0 个评论
    /************** 命令行下的系统时间设置 ******************/      SylixOS 中的时钟分为系统时钟和硬件时钟,在其对应的 shell 命令也是两个不同的命令 date 和 hwclock 。      Sylixos 设备的控制台中输入 help date 命令,会得到该命令的使用方法 # help date set system current time. eg. date -s 23:28:25    date -s 20110217 date 使用 help hwclock 也可以得到 hwclock 的使用方法。      我们先对系统时间进行设置,首先使用 date 命令查看当前的系统时间   # date Sat Jun 27 11:50:39 2015     /*  可以看到当前的系统时间  */ 我们将时间更改下,这么分开设置了时间和日期   # date -s 22:02:12 Sat Jun 27 22:02:12 2015 # date -s 20120222 Wed Feb 22 22:02:21 2012        可以看到当前时间是 2012 年 2 月 22 号 22 点 02 分 21 秒,此时使用 hwclock 查看 rtc 时间,   # hwclock --show Sun Jun 07 11:57:29 2015  /* 时间仍然是设置前的时间,与系统时间并不一致*/     再执行同步命令,会发现当前硬件时间与系统时间保持了一致。   # hwclock --systohc # hwclock --show Thu Feb 02 22:05:36 2012 /************** 程序中的系统时间设置 ******************/          对系统时间的操作使用 POSIX 的函数 clock_gettime 和 clock_settime 就可以进行设置,这里给出一个简单的实例,首先读取当前时间,随后将系统时间增加一天,并写入硬件时钟。   以下是代码片段: void setting_time(void){     struct timespec stime;     if( clock_gettime( CLOCK_REALTIME, stime) == -1 ) {            perror( "getclock" );     }     /*      * 增加一天      */     stime.tv_sec += (60*60)*24L;     stime.tv_nsec = 0;     if( clock_settime( CLOCK_REALTIME, stime) == -1 ) {            perror( "setclock" );     }     /*      *将系统时间同步到rtc上。      */     sysToRtc(); }