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

Linux C高级编程 时间编程

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
" q& n# Q( l3 ~6 f: y
Linux高级编程——时间编程

2 k* h+ U' w; D7 q  D
. s, a0 S  Q- n3 L

. ?, C- M7 [, m9 h1 时间类型( a2 S- {! A9 I

4 W) P# Y8 N& P
5 y( ~7 Y9 ^# |9 t# {4 @* _$ J. K
(1) 世界标准世界(格林威治时间)
* r: V8 J7 J, t( C% {; U' S. ?+ [6 [  \* e% O: O

2 u4 q' ~& T* I6 }(2) 日历时间(1970年1月1日0时)——到此时经历的秒数
, }- I" U  P) V$ m2 }6 R$ ]
% O1 R! p8 K9 Z7 G) c6 \
4 @, v- a% ~0 V/ S

) z+ F6 [+ V( f* {+ Z0 Q

: K& j3 U/ u, y9 y8 J  I# W% M2 时间获取
$ V! Z* p# |& p# W) k, Q* R
; r( Z6 C/ Q; l' x

: T+ m( W7 W7 b( @1 `#include<time.h>
. I. @2 I; R( y( F
6 u" j+ Q0 ?! R! @( H! [+ U

, s& t9 Z2 z$ D3 F% w  |( ltime_ttime(time_t *tloc)——获取日历时间
4 g* Y& _% {9 n$ h1 L
# N7 x4 R/ a, p0 n& @8 G+ f7 Z
" ^' j% M! g9 g6 O: f/ x
/*typedef longtime_t*/
9 {! r/ ?2 ]$ y. G2 a3 L- r+ p, P, ?

+ D3 D  h' M1 H' J0 E3 X" `4 s0 S- x. j; b3 R& R

$ c  ?) _/ t/ y% ~/ c9 P" S3 时间转化1 Y' ~; V/ X; f. G  I. g8 w
) u6 k) `% X' V$ g2 d* h

7 `) E& n) t5 s! p5 kstruct tm*gmtime(const time_t *timep)5 g6 J7 P+ V4 Q. w% K' D

& \* x- E  O/ g; i5 d* b; w3 K

, N( l8 M) R! ]5 r——将日历时间转化为格林威治标准时间,并保存至TM结构中
  k+ T. b- ?; l8 \; H9 A9 i; R, X( _1 |- h$ T4 }  T

9 t4 q& }% ^3 }6 H  O- ostruct tm*localtime(const time_t *timep)
( s2 @# @! {; q* F
% G3 ~/ K0 s1 ]
1 n) _  m" H" i* n6 D# A( C$ _% _
——将日历时间转化为本地时间,并保存至TM结构中; W: n) h! y$ `2 T) _5 Q

) g8 I5 C4 g8 Z- S0 X" e
4 |2 o: i$ s* T& e+ e4 p& p
6 q4 k1 }* U( K
( z8 R, o! v  G& q
4 时间保存
8 E( Q; x2 e  P8 M/ k/ t
$ }0 |7 q8 I  f' z: p

2 \2 o% d$ i; P0 i5 S) A; Q4 T
  • 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;//日光节约时间
  • };
    8 \4 I( Y4 @! s, s  u% O) ~

$ A3 N' ~0 }- O9 |+ j# `+ [5 W8 S# _- F& ]# p- \! e! ]

5 W2 U& g3 l- r% J$ m8 t& L9 f7 C9 Y! P+ W

5 G' P3 p; B+ H# O( q9 a# ~# q5 时间显示
6 _" C& N: t. S' n3 q& q2 q3 i; N9 i4 T% a. Q( p: X

1 s; C$ G  o5 ]. Y7 m5 jchar *asctime(conststruct tm* tm)- A7 }1 [& W# V
" X2 y0 t  [& b. Y& c$ u7 `
3 X  A( y1 Q8 X) M* h
——将tm格式的时间转化为字符串
% k! F9 v" ?# c9 f' h/ Y$ ?/ p
! {) t" r! c8 L

2 `% }  Q8 U" \$ wchar*ctime(const time_t *timep)2 X# B7 a# K" b# Y: v6 t
2 ~0 n/ ?2 t; y* B2 ]) j
4 |3 \) B& n( G2 _* e  Z: ^7 L: [
——将日历时间转化为字符串
# _8 v1 r3 D& B. X
" @( |. Y3 |; k* D: i
1 ?  x% Y6 ?2 g2 H8 ^6 q9 P
8 k. l* o0 x0 i" H6 S
- j* i# J/ p* p. t4 x

  T, q& d2 A8 ?  s5 z. k' \0 Y*Linux下显示系统时间实例: & J$ P' n, n" j# ?* y

' W" \, w9 e; J
: F6 g% _. j8 h9 R# O0 c, w" Q3 o: P
  • #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;
  • }
    3 w: R/ `2 u8 R! b1 Z0 K2 C
" `9 W. i" `, j9 }8 h, ?
: L& H4 ?: R, h/ c
0 P9 |4 g# _7 `- S( z, n5 F
. r/ B; W( k3 a& ?

" |9 d7 P1 R) E. Z1 q* J: V
' q& u2 B/ M; J# h) v& H7 z: _/ J0 k+ ^2 b1 k2 m0 A6 V) m

该用户从未签到

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

“来自电巢APP”

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-12 07:37 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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