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

Linux C高级编程 时间编程

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

* V4 E2 r, ]+ H6 X! R: B/ c
Linux高级编程——时间编程

9 P9 A( M: k5 ?! J. W  O* C- [; f0 P4 k6 ]( v- H/ Z; h
% a( v4 r; Q" ~' q1 J- _" q
1 时间类型7 y. h' Z% }8 S

9 p. P; e5 |/ {4 f& E

- d" N. H2 c; w7 U0 M(1) 世界标准世界(格林威治时间)0 E! {/ O6 f3 a, g

: i4 f- W: s, U* U

; W. [0 B, U% H: y7 J(2) 日历时间(1970年1月1日0时)——到此时经历的秒数
! u2 `) d% W4 L: V
& ~4 y: A; t5 M: G: k5 Y$ b) K* n

; s5 w1 j4 b+ M% Z2 p9 c  I0 i5 c8 ~

7 `4 p5 _0 C7 R) h: W1 J2 时间获取
; ]: [5 |3 ?1 ~, v  O& [" {2 }! _1 G, |

# q" K* g7 S3 b+ E7 K#include<time.h>
  p: @2 T/ K! l
5 t5 l6 w* |# [: |( @
+ u6 }" }: f6 A( p
time_ttime(time_t *tloc)——获取日历时间
# i' U/ M. y8 j' K. Q- [  a& I5 Z% y2 g5 \( ]
: i& j9 W2 i' M, c0 Y2 K
/*typedef longtime_t*/
; Q! W: d7 C0 D8 P' Q2 V# c
4 w8 `: U5 C! W6 F- t

1 L9 k# ?  s( s* L; D* f# j! f6 W2 K8 x6 Z  L

( l; F1 U  |0 D  I* W3 时间转化
7 l. s( |1 t/ p7 ^2 @8 ~
9 v; a" F+ q* [! B
! O3 G- g% K# @3 u, z" E
struct tm*gmtime(const time_t *timep)% J# ?4 s, _( x* b3 D% N5 B

+ A; Y5 ]4 I& E1 P) s$ J3 a) l

, Q+ J+ r5 M0 h1 {4 P$ g——将日历时间转化为格林威治标准时间,并保存至TM结构中' ]8 C3 i- z9 C7 G$ r! l' l$ `) d1 N! t

# \! K6 n! B/ k$ d
% K6 Z/ x0 p& {* A6 h. I+ A% [
struct tm*localtime(const time_t *timep)
$ L6 o- l" l2 M; I7 N0 C7 o
7 V- ^8 ~/ A$ c/ \
, w& v' w; u" F' k, A* N5 d9 k
——将日历时间转化为本地时间,并保存至TM结构中  j4 B2 N2 N& o: ^, w+ \% y. r* Q
8 E5 \8 W3 M7 C% o3 Q8 Q
$ ]1 b1 G4 P2 z! h  ?% ~  Q
) o' T% z& t" X' p. c% B

0 w* F9 Z% {. D6 Q2 V3 A6 k4 时间保存% y0 U: j7 t6 _( s; i. y1 O+ r

# _, N# {( k+ M; N2 j, n

4 Q0 ~  ^3 J- ]' k$ Y8 M
  • 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;//日光节约时间
  • };% a$ o# b" F/ |1 k: B9 e2 l

1 @. v; T" ?1 {& s' e+ h, r2 A- s) E" M% H$ [
3 m  {6 Q5 A/ f0 H# ]( q
3 }  I: c/ N2 r2 q- x3 @
* b$ Y3 F6 b& j/ L
5 时间显示' A* \! Q3 s9 g& J

; b7 `* E4 @1 o* u; b

" M# ]/ }- n7 {3 d# t3 F! e& I8 Wchar *asctime(conststruct tm* tm)
- S! |! I2 u. ]( K5 u
  }* Z& H8 d% C+ f) G: G! O* Q9 @

, T1 x, G4 _9 b——将tm格式的时间转化为字符串
4 h( n' L' d6 C% X5 g0 z/ h( u
) U  l9 P, G% \7 r' w/ n
5 x5 H5 E: L$ W, }  n3 n3 r
char*ctime(const time_t *timep)
& A' `. S% `+ e* r( W. L) |- a! t+ T& g& ^9 B3 |/ G; ?/ i( y/ U: t
' G, v5 ~' r7 i7 i; X7 m- J& J0 }' q
——将日历时间转化为字符串
3 U- B  ]6 G0 E' s1 t
# Z- G2 \/ d, R' j
8 o* }' Y- H4 Z  r# D
* M. u$ b4 a2 ^% x$ i' ]: t& T6 I6 ]
9 ^' b0 x- t) k

; {. A* l& M: U! c; r8 c. }* w  T1 S9 V*Linux下显示系统时间实例:
4 m# r3 D5 z$ ?, f+ f' R: c) b, Y& Z  i8 g1 b5 G
6 \( r: W% ~/ m
  • #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;
  • }
    ! _5 p+ f- K+ m  U! z- S- k$ b

7 M. ~1 X5 i1 b, b( Y: T% u9 z+ e

, n$ s! \# J5 p: s/ G3 m
" j5 `% L! H4 k% W7 h
: x: ~5 s, ?% ^

2 V- {2 t  `) k. |3 I
' N# I7 E: f& i; K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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