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

Linux C高级编程 时间编程

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
$ b1 X% `6 N) E6 h" P) H
Linux高级编程——时间编程

+ X8 x3 K) ?  ~' O" A4 C
+ W$ c3 Z9 ^  i5 j2 F, }! k1 O

) V/ v! Q3 X* q- i, q( D1 时间类型
  T) m, t' S% n* D2 e- ~
* m! E3 N0 M4 P" a9 _
+ h8 X, W7 t: [0 m
(1) 世界标准世界(格林威治时间)$ I( C7 z) V6 Z' T
) l, t: i9 o" c# d
8 d( a+ }9 \/ P1 U
(2) 日历时间(1970年1月1日0时)——到此时经历的秒数* I; }% q- ~" A
1 f$ Z" r* e  h: U7 d0 w: S* O$ h
' B% Y+ C. A- Q5 V  w

1 p# [( k+ U# s3 O: N5 o% ^

% q# {4 z- ~4 q) ~. W2 时间获取! X' x2 f& R: W: r/ }. L  M5 i& v! ?
- y( S1 F& X, j  X& f) t! W( p/ N' D* l
6 r. t# q% x& x- U8 r% y( `/ V( e
#include<time.h>, B; a: p1 u) I) e
! _( Q9 }/ K8 B
3 v, m: d1 S, V3 U
time_ttime(time_t *tloc)——获取日历时间/ c, M8 D9 f9 K- L0 N% {, j. t$ u

: d( C' k0 ~4 v" d( l

: |- K- y+ g9 @5 `' {* t/ \& Y/*typedef longtime_t*/
8 m5 Z# }  L; F+ i* H' F
4 q) k" l- p: q8 Z+ {/ O
6 e6 g: e; b' I# S3 [# S, I

( ~7 [- n; }" a; v1 A1 Y9 K3 x

3 s& J+ m. u" d3 b" T& I: S3 时间转化
' W; n/ O  R# f
% N2 N& b$ O+ n2 ~

0 l# ^6 K4 t: O' s+ d. \struct tm*gmtime(const time_t *timep)
9 b8 C/ D" A3 _- M  @3 y4 B
) F4 o/ ~  `* d- U. x8 h! a. n

5 u9 b; ^( D  n6 `——将日历时间转化为格林威治标准时间,并保存至TM结构中
+ W0 T5 E" ]% r* R! q6 ^+ V& U/ n4 I1 p" T" S

7 R6 c' S1 v; B  l( i0 Lstruct tm*localtime(const time_t *timep)4 y/ o8 N- k6 x, v6 `: P

/ d! W  H" f; a/ d- G4 Z& o- @
3 R, E* [- N/ r. W5 ~) K
——将日历时间转化为本地时间,并保存至TM结构中2 m) u0 w0 a9 R% `2 Q4 i8 |" Y

$ y& P9 T2 L. F9 c  R8 N* \

; v% Z+ ~5 F5 t+ _  W8 d0 G1 N6 V. C5 ^

( V' u  X- i- D* V: F7 ^4 时间保存
. T% h1 C7 m# K! z: m: U- ~" P$ N+ c' H  x

  N$ y# x+ l# S/ Z& j
  • 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;//日光节约时间
  • };# L, h/ L, k/ v3 w

3 E6 t6 Z: c1 _1 g. h% k) W6 Y7 ?6 a4 M' L* i! Y; X+ D4 i
/ {0 g% f$ ?5 V( Q) s
- I1 r9 u* @& m( h
7 J6 f2 a; _" W$ A8 u4 O
5 时间显示  T4 i  H, o: v2 [: `

9 K, A2 t) |- K0 o

6 k; q9 G& {7 e  \- z9 W* kchar *asctime(conststruct tm* tm)
' v: _$ P/ @' y6 t! a) @! }4 |8 M4 r9 K" o

9 G- L, K8 j; Z* l$ t  |——将tm格式的时间转化为字符串9 v2 {. v7 S$ y0 B
( [3 s! C4 i/ j
" J7 {2 j1 W6 i/ w. f# _+ }
char*ctime(const time_t *timep)3 Z& J4 }3 y+ g; J- H6 U

9 N5 F7 [, S( F' R

. `- k' g6 D; b; ^) W5 z' J——将日历时间转化为字符串- |$ y$ W! a/ C9 t* A' `4 v& Y  k

5 G) a2 a* M4 g. ]2 Y. k

& _9 G0 O9 E& @: \8 l
3 M3 r( ^: `/ v1 T* ^$ R# j4 L
- z$ [- C/ l( p1 l! b
- [: X" A. F8 F. t+ U% F
*Linux下显示系统时间实例: / z) h) Z, W: I0 r" @) }
1 N8 g8 X7 y+ l6 y6 \
4 t: G+ g) k: N8 R
  • #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;
  • }7 ?5 X# `4 Z2 Y1 p2 s* K

+ K, Q% Q) n$ t! U! b. P9 ^
7 M' G' E5 b8 ?" |/ P$ u
3 @6 Z9 z0 f" r, N# N) T& x+ U! e
0 n" G% [, M/ C0 Z0 j7 j

/ I, g6 u7 }% m3 \, r3 P, v) ]3 O* F( D6 p5 i- }. G" v* B6 D

+ J# G8 A7 b& a+ L

该用户从未签到

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

“来自电巢APP”

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-2 08:36 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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