linux 获取系统时间,linux实时显示时间-广角镜-

linux 获取系统时间,linux实时显示时间

牵着乌龟去散步 广角镜 1 0

大家好,今天给各位分享linux 获取系统时间的一些知识,其中也会对linux实时显示时间进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

本文目录

  1. linux 系统时间 查看
  2. Linux查看系统时间
  3. Linux下C语言获得系统时间的 ***

一、linux 系统时间 查看

*** B仅限于RedHat Linux和 CentOS

命令:"dpkg-reconfigure tzdata"

3.复制相应的时区文件,替换系统时区文件;或者创建链接文件

cp/usr/share/zoneinfo/$主时区/$次时区/etc/localtime

例如:在设置中国时区使用亚洲/上海(+8)

cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime

例如:将系统日期设定成2009年11月3日的命令

将系统时间设定成下午5点55分55秒的命令

3.将当前时间和日期写入BIOS,避免重启后失效

不加参数可以直接看到当前日期时间

二、Linux查看系统时间

date命令的功能是显示和设置系统日期和时间。

该命令的一般格式为: date [选项]显示时间格式(以+开头,后面接格式)

-d datestr,--date datestr显示由datestr描述的日期

-s datestr,--set datestr设置datestr描述的日期

-u,--universal显示或设置通用时间时间域

% r时间(hh:mm:ss AM或PM),12小时

% s从1970年1月1日00:00:00到目前经历的秒数

% T时间(24小时制)(hh:mm:ss)

% X显示时间的格式(%H:%M:%S)

% A星期几的全称( Sunday..Saturday)

% B月的全称(January..December)

% c日期和时间( Mon Nov 8 14:12:46 CST 1999)

% w一个星期的第几天(0代表星期天)

% W一年的第几个星期(00..53,星期一为之一天)

% y年的最后两个数字( 1999则是99)

需要特别说明的是,只有超级用户才能用date命令设置时间,一般用户只能用date命令显示时间。

下列环境变量将会影响到 date命令的执行效果。

LANG确定在 LC_ALL和相应的环境变量(以 LC_开头)都不指定语言环境的时候将要使用的缺省语言环境。

LC_ALL确定用于覆盖由 LANG或任何以 LC_开头的环境变量设置的任何语言环境类别值的语言环境。

linux 获取系统时间,linux实时显示时间-第1张图片-

LC_CTYPE确定文本数据的字节序列解释为字符时使用的语言环境(例如参数中单对多字节字符)。

LC_MESSAGES决定写信息应使用的语言。

LC_TIME确定由 date写入的日期和时间字符串的内容。

NLSPATH为处理 LC_MESSAGES决定消息目录的位置。

TZ指定时间和日期使用的时区,除非指定了-u选项。如果未设置 TZ变量且未指定-u标志,则使用非指定的系统缺省时区。

#date-s//设置当前时间,只有root权限才能设置,其他只能查看。

#date-s 20061010//设置成20061010,这样会把具体时间设置成空00:00:00

#date-s 12:23:23//设置具体时间,不会对日期做更改

#date-s“12:12:23 2006-10-10″//这样可以设置全部时间

CST:中国标准时间(China Standard Time),这个解释可能是针对RedHat Linux。

UTC:协调世界时,又称世界标准时间,简称UTC,从英文国际时间/法文协调时间”Universal Time/Temps Cordonné”而来。中国大陆、香港、澳门、台湾、蒙古国、新加坡、马来西亚、菲律宾、澳洲西部的时间与UTC的时差均为+8,也就是UTC+8。

GMT:格林尼治标准时间(旧译格林威治平均时间或格林威治标准时间;英语:Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。

设置完系统时间后,还需要同步到硬件时钟上

上面命令中,--hctosys表示Hardware Clock to SYStem clock。

$ date‘+This date now is=>%x,time is now=>%X,thank you!'

This date now is=>11/12/99,time is now=>17:53:01,thank you!

Fri Nov 26 15:20:18 CST 1999

Fri Nov 26 14:15:00 CST 1999

Sun Nov 28 00:00:00 CST 1999

date--date"1 days ago"+"%Y-%m-%d"

由于Linux对man date-d参数说的比较模糊,故举例如下:

#-d,--date=STRING display time described by STRING, not `now'

[root@linuxso.com~ ]# date-d next-day+%Y%m%d

[root@linuxso.com~ ]# date-d last-day+%Y%m%d

[root@linuxso.com~ ]# date-d yesterday+%Y%m%d

[root@linuxso.com~ ]# date-d tomorrow+%Y%m%d

[root@linuxso.com~ ]# date-d last-month+%Y%m

[root@linuxso.com~ ]# date-d next-month+%Y%m

[root@linuxso.com~ ]# date-d next-year+%Y

------------------------------------------

[root@linuxso.com~]# date-v-1d+%Y%m%d

[root@linuxso.com~]# date-v-1m+%Y%m%d

[root@linuxso.com~]# date-v-1y+%Y%m%d

在linux环境下要取得几天前的时期只要使用

x用数字代替,如果需要几天前的直接写正数,如果要几天后的日期直接写负数即可;

x用数字代替,如果需要几周前的直接写正数,如果要几周后的日期直接写负数即可;

x用数字代替,如果需要几年前的直接写正数,如果要几年后的日期直接写负数即可;

[root@linuxso.com~]# date+%Y%m%d

[root@linuxso.com~]# date-d"2 days ago"+%Y%m%d

[root@linuxso.com~]# date-d"4 days ago"+%Y%m%d

[root@linuxso.com~]# date-d"-1 days ago"+%Y%m%d

[root@linuxso.com~]# date-d"-2 days ago"+%Y%m%d

[root@linuxso.com~]# date-d"1 week ago"+%Y%m%d

[root@linuxso.com~]# date-d"1 year ago"+%Y%m%d

三、Linux下C语言获得系统时间的 ***

1、没有完整程序,不过能提供一点资料

2、int gettimeofday(struct timeval* tv,struct timezone*tz);

3、这个函数可以获取当前时间,貌似只要之一个结构体就行了

4、suseconds_t tv_usec;//微秒 [long int],(10E-6 second)

5、然后取微秒的前三位就是小数了,之后把秒 tv_sec转化为 tm格式,参数用秒的指针就行

6、struct tm* gmtime(const time_t* t);

7、//转换成格林威治时间。有时称为GMT或UTC。

8、struct tm* localtime(const time_t*t);

9、//转换成本地时间。它可以透过修改TZ环境变数来在一台机器中,不同使用者表示不同时间.

10、int tm_sec;//tm_sec表「秒」数,在[0,61]之间,多出来的两秒是用来处理跳秒问题用的。/* Seconds: 0-59(K&R says 0-61?)*/

11、int tm_min;//tm_min表「分」数,在[0,59]之间。

12、int tm_hour;//tm_hour表「时」数,在[0,23]之间。

13、int tm_mday;//tm_mday表「本月第几日」,在[1,31]之间。

14、int tm_mon;//tm_mon表「本年第几月」,在[0,11]之间。

15、int tm_year;//tm_year要加1900表示那一年。/*/*年份,其值从1900开始*/*/

16、int tm_wday;//tm_wday表「本周第几日」,在[0,6]之间。/* Days since Sunday(0-6)*//*其中0代表星期天,1代表星期一,以此类推*/

17、int tm_yday;//tm_yday表「本年第几日」,在[0,365]之间,闰年有366日。/*其中0代表1月1日,1代表1月2日,以此类推*/*/

18、int tm_isdst;//tm_isdst表是否为「日光节约时间」

19、------------------------------华丽丽的分割线--------------------------------------------------

20、由于很长时间没编程了,也没有Linux环境,我就简单写几行代码,仅作参考

21、//变量没有初始化习惯不好,不要学

22、p_tm= gmtime((const time_t*)&tv.tv_sec);

23、字符串的组装尤其格式问题自己解决吧

24、小数点后面的部分,注意不够三位还是前面填充0 tv.tv_sec/1000

关于linux 获取系统时间的内容到此结束,希望对大家有所帮助。

标签: 时间 linux 实时 获取 显示

上一篇入住时间英文 最晚退房时间英文

下一篇当前分类已是最新一篇

抱歉,评论功能暂时关闭!