Re: confusion about reading time from cmos

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

It seems that your CMOS count time in UTC. So, If CST stands for China
Standart Time then time zone offset: UTC + 8 hours ;)

Best wishes
Vladimir Murzin

On 6/12/12, 王哲 <wangzhe5004@xxxxxxxxx> wrote:
> Hello everyone:
>
> env:
> Ubuntu 11.04
>
> I write a program reading time from cmos,and the program is as followed:
>
> #include <stdio.h>
> #include <sys/io.h>
>
> unsigned char cmos_read(unsigned char addr)
> {
>     unsigned char tmp = 0;
>     iopl(3);
>     outb(addr,0x70);
>     tmp = inb(0x71);
>     iopl(0);
>     return tmp;
> }
>
>
> int main(void)
> {
>     printf("seconds = %x\n",cmos_read(0));
>     printf("minute = %x\n",cmos_read(2));
>     printf("hour = %x\n",cmos_read(4));
>     system("date");
>     return 0;
> }
>
>
> and run the program and the result is as followed:
>
> wanny@wanny-C-Notebook-XXXX:~$ sudo ./a.out
> seconds = 9
> minute = 42
> hour = 7
> 2012年 06月 12日 星期二 15:42:09 CST
>
> question:
> why the second is right,minute is right , but the hour is different?
>
> Thanks in advance!!
>

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux