找回密码
 注册
关于网站域名变更的通知
查看: 487|回复: 2
打印 上一主题 下一主题

Linux C高级编程 时间编程

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-13 10:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
+ v( x4 X6 Z; ~
Linux高级编程——时间编程

4 m6 l' i) d8 x2 j
- t* `+ v( f" d
) d% `' d1 V7 K' H
1 时间类型6 H7 R+ ~7 W! Y0 x- f

0 b3 V& `7 C7 M3 d" T1 n
, O+ ?6 G' E. H0 S
(1) 世界标准世界(格林威治时间); a. C  B. m4 U1 v0 [; ~6 Y% V
* s; h4 `) T9 E+ f2 T
4 x/ p' J& c, G
(2) 日历时间(1970年1月1日0时)——到此时经历的秒数
( }% G" p, j7 d- K# I% T& c
4 F, H- d& U0 x* D; Z- J$ p" q
- ~, l; R5 k* a
( a/ p( m& Q; O% u# |3 u& C+ B
. M* t! b7 e3 w7 E2 w9 p
2 时间获取/ W. L5 y: ]  F* T7 Z
) Z8 q" z1 e6 z9 E' A

; F! I7 F: V3 e#include<time.h>, S5 z, K4 F1 g- w  }7 ?" U* J
  k* o5 v6 Q3 G6 p; [
5 m0 q, g* E5 C3 R8 b
time_ttime(time_t *tloc)——获取日历时间
) s. @; d6 l5 D+ r, U- J. x* c, ^2 s1 l. d3 r

' k7 L& }7 L$ W/*typedef longtime_t*/
) {6 f$ o, N, ?
" |+ B$ \' B  K. z2 P) M
2 V1 O% h% b& n

  A) v0 s: |8 z. F$ o
. T# O* E1 k2 Z6 k0 [6 l% R
3 时间转化4 R# d: S* `4 P; `' ^5 Z

2 Z& _" v. t; L) M2 j2 U- N/ z% v
( B" U) y# \" L" _0 F
struct tm*gmtime(const time_t *timep)
# M, |1 L6 V+ o5 H8 B1 I! [
( E/ J7 E, K& I0 A- r" s* j

$ K/ U8 n- u' I; I- f+ g2 H——将日历时间转化为格林威治标准时间,并保存至TM结构中
7 M4 K" B: o/ i+ M& U6 X; ?; i  b9 P  |: ~, t# f; o
3 Z, [' ?1 D0 }3 T7 ?# |+ j2 K! u
struct tm*localtime(const time_t *timep), `( v0 Z- \. W6 D
& k# r  _* ~% y5 w9 U( w

3 c; X$ c2 s9 b* h, s: ~" N+ m* A0 N7 I——将日历时间转化为本地时间,并保存至TM结构中
7 s- P+ C+ _  v& g) _, b. ]0 a' g6 R4 h+ z
. I3 v5 a* X/ Z9 @- h3 b2 v
8 B- N5 Y' {  n+ G8 {3 b+ B  e
1 I" m, Y- u/ ]8 i5 d
4 时间保存- m: p& Z( ~: J: j

( R4 P3 e! a9 |9 T5 ?
( a" L* {: H+ o7 d7 x* V
  • struct tm
  • {
  •   int tm_sec;//秒值
  •   int tm_min;//分钟值
  •   int tm_hour;//小时值
  •   int tm_mday;//本月第几日
  •   int tm_mon;//本年第几月
  •   int tm_year;//tm_year+1990=哪一年
  •   int tm_wday;//本周第几日
  •   int tm_yday;//本年第几日
  •   int tm_isdst;//日光节约时间
  • };3 ~; h. l- S! F+ y- z3 e
: {5 s& X( v7 v, y( _1 T) V/ P

6 Q+ t& c: y& z4 R/ J
( e/ r/ k% d' V; c
/ U1 V7 X+ K+ h' U3 O
" {' h: d9 a3 T# s( ]2 G  `
5 时间显示# a5 f; d  D6 J0 L
( P6 q6 g9 N9 a' n* E4 H) t
) L( Q# G2 W3 b# a8 i
char *asctime(conststruct tm* tm)" C7 O: Q7 R/ \& ^/ G

. C4 A* Q# S/ a& b- w
8 |+ v& {8 l) j; X5 ]7 l6 n4 j
——将tm格式的时间转化为字符串# w% Y" ?! q* J+ i1 ^: k

$ B- c! g& W0 u7 @

( i2 X" C, O& B; |char*ctime(const time_t *timep)
: u# u3 d# e: ^/ x
( Z9 {4 u+ z, t

& H, ]" T! w9 F3 b' G+ K$ y' {: P) H——将日历时间转化为字符串; p# U; c3 Y  i8 P
9 ^8 T! A9 a  D
, {* d1 j0 I% v0 O& ?

! @, S% n, c2 @  @
( L! R- G8 h/ C

' J' J* }; X0 N7 U*Linux下显示系统时间实例:
  e3 w- r( l5 D) |+ `
7 ?# K* }- s! |8 G2 x" P
! ?5 S; ?4 ?& Y3 e9 n
  • #include <time.h>
  • #include <stdio.h>
  • int main(void)
  • {
  •     struct tm *ptr;
  •     time_t lt;
  •     /*获取日历时间*/
  •     lt=time(NULL);
  •     /*转化为格林威治时间*/
  •     ptr=gmtime(lt);
  •     /*以格林威治时间的字符串方式打印*/
  •     printf(asctime(ptr));
  •     /*以本地时间的字符串方式打印*/
  •     printf(ctime(lt));
  •     return 0;
  • }
    + {0 B' ?' q" a  M2 F- n
9 ?! M0 t8 g( f" {5 y
0 m4 n& Z2 U# i$ }
8 U+ a$ R3 L6 Z& u2 L
+ z: X% V6 f* @7 I

* |$ h5 a( L& U+ P- M. f, k( ], T- S# J/ l1 W& t8 d$ |
# ^- ?8 g3 A9 p8 g) v* n* C

该用户从未签到

3#
发表于 2022-3-29 16:29 | 只看该作者
呱呱呱,看的云里雾里

“来自电巢APP”

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 21:46 , Processed in 0.140625 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表