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

Linux C高级编程 时间编程

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
+ S/ j7 B1 A8 Y) v' u& X
Linux高级编程——时间编程
: B6 W% R! [4 u& K

: S9 Y' C6 }8 B( ~3 m. k
  D0 h/ k; s5 q1 ]0 s
1 时间类型
4 G1 ~7 \9 Y) D, m9 G4 q# x/ C
4 P0 t5 p( y8 t/ W6 x
7 C5 {3 I# S6 H% A+ m) G
(1) 世界标准世界(格林威治时间)% ]& y! \: [6 y
7 ]; u1 y# |0 a$ M7 W
* ?1 h' T1 J* K7 J" j1 s7 \* I
(2) 日历时间(1970年1月1日0时)——到此时经历的秒数. s# r8 h5 X, {/ E2 |5 b. e9 j

, ^! `3 z8 |) c' l5 P' z: j" D) E" [! ]9 ]

6 l1 ^7 B* s( N$ E( S* B2 a7 @, T: m4 P' u% A
- x; r) ]4 V9 Y0 ^/ O* ~0 ^0 y
2 时间获取
7 K! }' I1 `+ ^0 v. P/ B, a  e' L4 J) h  \! S/ \) W8 Q
6 u$ X5 p5 O5 Y( p
#include<time.h>
- k6 h' V8 j8 e$ Y7 g( Y9 V' O+ |  i" Z: h) a7 Z  K, L) m& Y

3 r2 a) A( c1 S: v& U: H1 C$ \time_ttime(time_t *tloc)——获取日历时间
. Y: i% O, @4 a/ s% d3 `& t( U2 I0 g
$ `, Q8 z! U; w% N0 B
/*typedef longtime_t*/7 t! \- r- V* W6 @3 j  V* D* k3 o
, h0 ^- q& a" w" @0 ^8 P8 D

/ r( O' _$ H+ @) z9 G( f6 {1 U7 _3 f( W4 B' B( a. q7 r/ r2 @
; c& U- [7 r5 f2 g) l
3 时间转化4 z/ d5 e& t, l

8 `4 q! a1 `$ \( k( v, O- T# T

/ ~; r1 G9 A1 e2 e) C6 _1 w4 J6 D( wstruct tm*gmtime(const time_t *timep), x1 S# S; n6 k) p0 V* W" R

8 O' w6 t2 \( i6 Q) F, [1 j
" k7 v! c* y' I9 q
——将日历时间转化为格林威治标准时间,并保存至TM结构中8 Y/ d- ]3 D8 V" [! @3 A* E

! g( l4 c) C* c+ i/ ?# P: [
0 `; a4 |& v, G
struct tm*localtime(const time_t *timep)0 V' r+ Z, G3 e, l2 S

- t) R+ B. i% i8 P
% Y% K6 M+ b5 A  m
——将日历时间转化为本地时间,并保存至TM结构中
* ~1 c3 @$ o* `; f) V. s1 T
8 w+ S# I( g3 s1 m1 g+ g: C# C

1 R9 Q6 O3 l: L% b$ T5 I- c3 V: {- N% G  e7 q/ Y" V
7 r# O5 H' }- u7 \  _
4 时间保存  F# a0 \  u: K' {7 q/ c) U$ M

; Q% }4 U% j, q0 j; y% |' X

1 [, _$ U; x, ]' j: g+ z" m  k" 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;//日光节约时间
  • };
    1 e$ g" R( M1 z  U- b( C3 P

+ M4 }; I6 j. i* M  r( e
- @0 u, @0 T, }1 x% J, X. j# Y; e# p
' p5 g, O3 ?/ s6 n0 l; {
* S; |  e" V0 e$ r/ ?6 P
0 p5 C0 Y8 d+ Q7 ?' g8 K
5 时间显示
2 ]$ H, k( ~; ~% f: L+ E, Z  G1 {
& E( R/ ^9 K! `! @: L- u
% E6 M5 I+ D# f5 D
char *asctime(conststruct tm* tm)
$ O& `: N; ]8 S  i2 K8 U8 m+ e, t7 N) e. @. V4 \$ ^* u

- t8 ?9 M  _1 K, L; L" d6 v——将tm格式的时间转化为字符串
& O% h0 }" Y; N
/ J& `- T  f  [, c; s! D
0 d. h- n; y) f0 n- R/ k7 x
char*ctime(const time_t *timep). e) z# o( w& h9 a$ s; [/ [
' u) g8 }1 m0 d/ E; R/ P) L) b) B

8 [/ r+ P9 S! t; X——将日历时间转化为字符串
0 j9 G4 F) g; Z3 a5 }5 s4 o. p" Q$ F, n; R& A4 P

7 p1 U/ l' @- F' ? ! G( Q! K3 L( N' b1 V: D" m
, G9 r  R6 r3 h# l: m
8 j2 G" Z& x! H1 Q1 @& M( ]5 a
*Linux下显示系统时间实例: % ]- V' ^+ |; h: k, c- a6 u

- Q9 b% l1 A) |, [2 O
2 T  B6 e! r8 P5 _" O7 q* I8 q
  • #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 Y4 C  ~: O* i- h- S
+ E* }( {, q$ x# t

+ _7 C4 r! i6 T$ L

. {6 |4 X! `  p' L8 ^5 c2 V. W  L  B( S) D9 H$ {0 v. N6 q7 B
0 s9 a0 G/ v9 Y  j# f+ q* Q

" t3 x7 u* z( [! Q, H. L5 G" G  {/ W
5 ]+ n/ X) Z$ L$ v& X

该用户从未签到

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

“来自电巢APP”

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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