linux获取系统时间 linux 获取时间

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

大家好,今天来为大家解答linux获取系统时间这个问题的一些问题点,包括linux 获取时间也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

本文目录

  1. Linux下C语言获得系统时间的 ***
  2. linux查看系统时间
  3. linux怎么查看当前系统时间
  4. Linux查看系统时间
  5. Linux哪个命令可以查看当前系统时间

一、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查看系统时间

1、在Linux系统中,可以通过以下命令来查看系统时间:

2、运行该命令后,系统会输出当前的日期和时间。如果需要查看更详细的时间信息,可以使用date命令的不同参数,比如:

3、date+%s#查看从1970年1月1日00:00:00到现在的秒数

4、除此之外,还可以通过命令“timedatectl status”来查看系统时区和当前的时间信息。

三、linux怎么查看当前系统时间

date命令的功能是显示和设置系统日期和时间。该命令的一般格式为: date [选项]显示时间格式(以+开头,后面接格式) date设置时间格式命令中各选项的含义分别为:-d datestr,--date datestr显示由datestr描述的日期-s datestr,--set datestr设置datestr描述的日期-u,--universal显示或设置通用时间时间域% H小时(00~ ]# date-d next-day+%Y%m%d 20060328 [root@linuxso~ ]# date-d yesterday+%Y%m%d 20060326 [root@linuxso~ ]# date-d last-month+%Y%m 200602 [root@linuxso~ ]# date-d next-year+%Y 2007------------------------------------------而FreeBSD则不同;举例如下: For FreeBSD [root@linuxso~]# date-v-1m+%Y%m%d 20060227 [root@linuxso~]# date+%Y%m%d 20100107上面是今天的日期20100107 [root@linuxso~]# date-d"4 days ago"+%Y%m%d 20100103上面是四天前的日期 [root@linuxso~]# date-d"-2 days ago"+%Y%m%d 20100109上面是两天后的日期 [root@linuxso~]# date-d"1 year ago"+%Y%m%d 20090107上面是一年前的日期

四、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_开头的环境变量设置的任何语言环境类别值的语言环境。

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

linux获取系统时间 linux 获取时间-第1张图片-

[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哪个命令可以查看当前系统时间

1、上面的的截图是date命令的默认输出,我们还可以根据自己的需要,格式化输出,如我以"年-月-日时:分:秒"的形式查看:

2、可以看出,还是自己定义的输出格式看起来比较顺眼.

3、*.具体的格式化参数都有哪些,还需要题主自己查看date命令的帮助文档详细的看一下,但一般情况下上面的这两种情况就够用了

4、另外,如果只是想看时间,命令应该有很多,因为有的命令在输出的时候当前时间只是其中的一项,如uptime命令:

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

标签: 获取 时间 linux 系统

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