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

Linux C高级编程 时间编程

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
# [. n; _6 S3 _. D
Linux高级编程——时间编程
6 B* d# d/ p8 b  I) p6 e4 _

1 J, d$ H- ~* X( G3 f, ^
! [/ h. E9 g. P! E# v
1 时间类型
* z: t6 a4 c2 c2 A. p! ?% p3 J( @" J/ p. l7 f6 K7 h! T/ N" c
5 l! @  ?" p1 N( H
(1) 世界标准世界(格林威治时间)
8 l4 c: l; r# [" X3 }6 {& b) _* L' x
' V2 K" W3 F/ W/ O# V/ b
(2) 日历时间(1970年1月1日0时)——到此时经历的秒数8 B% h- E5 I, ^0 A8 c5 y
: ^7 Q% I. T) z: z* m4 O- s

8 d4 Q' H( W5 r/ J
) @0 y. m/ r( h% a3 r* q
+ w- g' ?( E9 O- V% Q) m1 U
2 时间获取' |. q: [6 i9 @* e8 I9 P
) F- p6 ]/ h& K  v! O( L( P

' {/ S1 t, u# s3 n* ?: Q1 x' c- g: s* G#include<time.h>
  p: M( u6 j: e- z
4 I3 o$ A( h/ a  s/ \

+ @) k6 k1 C: itime_ttime(time_t *tloc)——获取日历时间% h- S+ f1 W3 `$ I: q( \# V
+ h' J* U% O" a6 a& U

0 e4 g4 W9 o7 R5 {- `2 h' e) K/*typedef longtime_t*/
% \+ y) z; ]. C: {) c& s% C2 x  i- @! w* x* q( z
4 @1 A$ a( k0 L) r9 T. V

0 c; X& e- ~9 h" C8 U, j
- ^6 d1 `" J0 ]) d
3 时间转化
/ w) U/ ~- O6 T4 M
: N( R) H6 a5 K$ d
7 n* V+ t& Q* I) q
struct tm*gmtime(const time_t *timep)
7 M0 g* a# q1 P: ?: W- p  l9 g0 Y; ^% r9 w% c( \( k4 S" x: w2 g  K

) `' I8 E5 d1 I% E3 b  h——将日历时间转化为格林威治标准时间,并保存至TM结构中0 Y5 H1 y0 g. F! l
) N3 o; n% W- F  _+ H

3 i2 a/ X8 L' b: q, y" d* r* i1 rstruct tm*localtime(const time_t *timep)
- W- T, s; e2 x0 a3 K
# t% H* J& Q: X& E

. \. M. ^& V5 w8 Y- m! g——将日历时间转化为本地时间,并保存至TM结构中
; O. C1 z  A. [. Z0 F3 Z- w
8 U; l3 m) J& R  j8 h6 c

  }5 Z7 [: b% n( R% Z
" V( {4 Q- Z# t
1 L& ?  |4 d9 K- s$ [# d- b5 ?
4 时间保存$ z( X  k2 Z7 h- X0 H
! r) q; [# d( M
% a& c; y! A! B2 z( i: p
  • 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;//日光节约时间
  • };: ^0 Z1 D: s$ c3 `+ h  W% @
* u$ Z( I# K+ j8 G7 b* S9 D( ?9 n! [9 _% x

" H% D* o& q, e" ?* t
$ {2 t9 I3 K& B7 w5 O

5 ?& b- F- a9 i8 b1 n  O/ z

5 b1 ?3 g9 m$ z) O5 时间显示* ?' m( |$ o$ \# p6 e, ~( t+ v7 _

& b4 y% A# q' ?5 H

1 ^7 d; q7 s! p  W1 Cchar *asctime(conststruct tm* tm): `7 e+ M4 H" \2 Q
8 R$ Y: }1 b/ q6 L6 C& ]

3 a8 B: R5 ]+ e! p! [" N& U# m——将tm格式的时间转化为字符串
3 @- z5 a( o  W/ O3 X$ }8 k8 u' i8 V5 q# n4 O3 N  R& E! O4 O

: a  b# O3 b* s: pchar*ctime(const time_t *timep)
6 A, e, l: ?0 u+ `3 A; c6 |
: G  K& L$ @0 L& v8 V: |5 u

/ o% X/ w7 i3 W——将日历时间转化为字符串6 K. d1 o6 [4 R6 t

; [) z& u! ~4 }% Q: ?# ]8 f. i
; U, z* ~' p7 |/ _# {3 G9 y

  u, j2 f$ l5 D
: I  b7 ^9 i, o

( \1 A5 H2 M9 f' ?: I1 ]*Linux下显示系统时间实例: % O7 c6 m. [4 ?/ B3 A
. r% l8 s1 h2 x1 G3 r

$ s8 g, Q, W7 {3 t4 o- d  j: N" 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;
  • }/ N4 V4 X, i0 f- d* I( _
# H. y, I8 r: N  H* E; e" j. ~
. q8 I9 Q' ]! c4 T6 q& `* n. X6 Q' ?
2 H7 {) }! ?' Q/ z" C& G
, A/ a! B) N# h9 z2 ~. ]
) b8 m1 o3 M5 ]" ]: n

5 Z6 C7 w% _8 S/ \; g( X  j4 F2 G( z) t5 A0 G: F

该用户从未签到

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

“来自电巢APP”

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-22 18:09 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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