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

Linux C高级编程 时间编程

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
6 e6 X# U1 g3 {( B; x
Linux高级编程——时间编程
2 ?$ M  m7 j" w. u  W

% V/ J$ L( g) `6 N4 Z" G" D/ V

2 n* J. t2 s  J3 B6 g1 时间类型
3 b' h& L: N5 o$ e& g
  v/ p& [$ |2 \: A  o- T; U6 j' r

& ^( ~7 j, f& R. C(1) 世界标准世界(格林威治时间): [6 V( N) @" M' b6 x

! t0 N% K+ S3 S) }5 C" B# R5 A" I
  F6 Q& f/ U" M# k$ F/ E
(2) 日历时间(1970年1月1日0时)——到此时经历的秒数
1 Z: ^( x1 b7 \$ z" `8 v& q
5 T( M0 Q9 Z+ D' W" W4 D) O

  R5 j' q. k; c0 P& D
, ~& H: z+ `$ M

5 D2 E! W  U9 q2 C. e! B& U2 时间获取
( k$ `5 c; _6 O) R
& I/ z+ e1 E! F" k2 A
* G# k9 Q9 U! Z3 c  H8 r$ w1 H
#include<time.h>
2 m/ t: ]6 u  z, G, b- h% D: j* r/ J
& _3 x) P1 h% r. k

- A6 b% k' A" ]( k9 [, stime_ttime(time_t *tloc)——获取日历时间
" W4 F# b8 U) H' {/ v4 P" w
( h* _5 U1 t: d4 Q' Z

! u- v' r3 d: s/ G, E+ S/*typedef longtime_t*/
. @9 {1 u: k9 B5 x& v8 X7 |( u+ Z3 s3 E$ a( K2 l
( s: Q' y6 f. P; E  N
5 `- n' f1 D! @% @. y0 W. g

3 c$ @4 M$ T8 q2 Y3 ]0 P2 k3 时间转化/ ^( f# P3 z( w+ q

& H, A& T7 {; b
, H& ]2 b- p, l  u; j
struct tm*gmtime(const time_t *timep)
* [' H& j. n* ?
, @/ M0 \5 ]4 K/ Q! p( P- L9 q

8 ^, C. \$ u9 j' o: q——将日历时间转化为格林威治标准时间,并保存至TM结构中& O* Q6 [1 [  G* z6 r
( y* o3 C# P( y5 b3 @4 `

. i0 a, X4 L6 t9 {) n% t7 [5 astruct tm*localtime(const time_t *timep)
0 g* Z1 C$ ?! |* L0 U) O9 K- Q& l- J: l
6 ^4 I0 @1 S  o2 g' c, I* X
——将日历时间转化为本地时间,并保存至TM结构中  X3 v1 ~8 [* o* W0 F& @! o3 t! _* w

: E0 l& w. H6 l4 O' f

) j! X. C" R2 x* q& I9 r
0 K( T8 ?7 z# w2 p: w4 G

* k6 S- r* J$ N! j7 ~- _# h4 时间保存
. r9 e* ]+ Y; e! X/ ]7 H
! N+ H( q& A0 u! M) v: n! Z6 D+ O
& v, ]6 b6 p: Z0 b; ^
  • 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;//日光节约时间
  • };
    ! Y; P; r8 M1 l6 R2 H* A- G
: `  t+ j' R& I( L. U+ H1 [# ~

! P" t1 x. k% o. ?& c8 @9 t

+ ]9 Y; H% K- }% |" ~0 S9 h' |# ^# p, l2 m
- Q2 J! q" P' h7 ~2 F5 K& n8 a
5 时间显示
2 K. T, U, Z+ C- W' I, T' P  q. x! `, t

, ^. K& L5 U# H6 I9 {$ L/ ochar *asctime(conststruct tm* tm)
- l7 r  h& _1 R7 a6 K/ Q# M5 a( K; z, {# O& J9 G" ~4 G
/ s* G7 ^  _0 u* d0 E/ e
——将tm格式的时间转化为字符串2 i1 i0 J0 z+ j+ r
  X4 M' S6 ^0 J* |7 o3 A( v. J- K$ [
6 V) \7 x2 K' c& ~+ a" a" p( y! |
char*ctime(const time_t *timep)
/ z7 d' l) _" u  W, }; }2 \
* J* J7 x* m. P+ @. H- W) I0 e, L

$ Z; F2 K" A. B: `# k& r——将日历时间转化为字符串
4 N2 H- w6 q) g4 G, ~+ g* d" u8 r: i( Z0 }8 Z

: ~/ `3 s4 ?9 H4 n
* z4 f6 c. ~2 I* D0 A% Z* D
: T$ e2 \4 @) Q! s

9 k: }" r$ Z0 ]5 ?1 {" d) Z% a*Linux下显示系统时间实例:
& T7 {+ h9 a5 x) |' \
+ P' L8 N" e# A8 ?
' r6 t6 q, c1 x1 R8 J
  • #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 y0 A8 Z# u4 |+ K7 i4 q5 f

* C9 O/ z; v9 K4 j& w& K; f$ P! R& {) }
4 @* {  U( ^; f+ e1 k; V& D
; e6 t$ e: D7 A- o, t& j! s
9 N7 _( h0 i. f) V5 T7 Z

$ u2 d1 j5 ^2 _# I: O. g
+ L# I% a5 K, s) a& l: a

该用户从未签到

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

“来自电巢APP”

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 20:49 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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