Linux中time()函数用法

参考链接:https://blog.csdn.net/hittata/article/details/8090228

  1. time函数获得日历时间。日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。这个标准时间点对不同的编译器来说会有所不同,但对一个编译系统来说,这个标准时间点是不变的,该编译系统中的时间对应的日历时间都通过该标准时间点来衡量,所以可以说日历时间是“相对时间”,但是无论你在哪一个时区,在同一时刻对同一个标准时间点来说,日历时间都是一样的
#include <time.h>
#include <stdio.h>int main(void)
{time_t t;t=time(NULL);//time(&t);效果一样printf("The number of seconds since January 1, 1970 is %ld",t);return 0;
}

mktime:转换成time_t时间结构

#include<iostream>
#include <ctime>using namespace std;int main() {struct tm t1 = { 0 };struct tm t2 = { 0 };int seconds;int a,b,c,d;cin>>a>>b>>c>>d;t1.tm_hour=a;t1.tm_min=b;t2.tm_hour=c;t2.tm_min=d;seconds = difftime(mktime(&t2), mktime(&t1));//转换结构体为time_t,利用difftime,计算时间差if(seconds<=0){seconds+=86400;}int hour=seconds/3600;int min=(seconds%3600)/60;printf("O JOGO DUROU %d HORA(S) E %d MINUTO(S)\n",hour,min);return 0;
}

linux 时间格式化函数strftime和strptime使用

这两个函数都是时间日期的格式控制函数,在功能上看起来正好相反。strftime将一个struct tm结构格式化为一个字符串,strptime则是将一个字符串格式化为一个struct tm结构

#include <time.h>
#include <stdio.h>
#include <string.h>int main() {struct tm tm; char buf[255];strptime("24/Aug/2011:09:42:35", "%d/%b/%Y:%H:%M:%S" , &tm);printf("asctime:%s\n",asctime(&tm));memset(buf,0,sizeof(buf));strftime(buf, sizeof(buf), "%d %b %Y %H:%M", &tm);puts(buf);return 0;}

本文链接:https://my.lmcjl.com/post/1902.html

展开阅读全文

4 评论

留下您的评论.