Linux笔记_时间编程
2015-01-24 21:57
323 查看
**********************时间编程*****************
//////////////////////////////////////////////////////////////////////////////
时间类型
1)Coordinated Universal Time(UTC):世界标准时间(格林威治标准时间)
2)Calendar Time:日历时间,是用"从一个标准时间点(如:1970年1月1日0时)到此时经过的秒数"来表示的时间
1.时间获取
#include <time.h> time_t time(time_t *tloc)---------time_t t; t = time(NULL)
功能:获取日历时间,即从1970年1月1日0时到此时经过的秒数
2.时间转化
struct tm *gmtime(const time_t *timep)
功能:将日历时间转化为格林威治标准时间,并保存至TM结构
struct tm *localtime(const time_t *timep)
功能:将日历时间转化为本地时间,并保存至TM结构
3.时间显示
char *asctime(const struct tm *tm)
功能:将tm格式的时间转化为字符串
char *ctime(const time_t *timep)
功能:将日历时间转化为本地时间的字符串形式
4.获取时间
int gettimeofday(struct timeval *tv,struct timezone *tz)
功能:获取从今日凌晨到现在的时间差,常用于计算事件耗时
struct timeval{
int tv_sec; // 秒数
int tv_usec;//微秒数
}
//用法gettimeofday(&start,NULL);gettimeofday(&over,NULL); 再用两个时间相减
5.延时执行
unsigned int sleep(unsigned int seconds) //功能:使程序睡眠seconds秒
void usleep(unsigned long usec) //功能:使程序睡眠usec微秒
/////////////////////////////////////////////////////////////////////////////////
代码例子:
#include <time.h>
#include <stdio.h>
int main(void)
{
struct tm *local;
time_t t;
/* 获取日历时间 */
t=time(NULL);
/* 将日历时间转化为本地时间 */
local=localtime(&t);
/*打印当前的小时值*/
printf("Local hour is: %d\n",local->tm_hour);
/* 将日历时间转化为格林威治时间 */
local=gmtime(&t);
printf("UTC hour is: %d\n",local->tm_hour);
return 0;
}
*******************************************
#include <time.h>
#include <stdio.h>
int main(void)
{
struct tm *ptr;
time_t lt;
/*获取日历时间*/
lt=time(NULL);
/*转化为格林威治时间*/
ptr=gmtime(<);
/*以格林威治时间的字符串方式打印*/
printf(asctime(ptr));
/*以本地时间的字符串方式打印*/
printf(ctime(<));
return 0;
}
******************************************
#include <sys/time.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/* 算法分析 */
void function()
{
unsigned int i,j;
double y;
for(i=0;i<1000;i++)
for(j=0;j<1000;j++)
y++;
}
main()
{
struct timeval tpstart,tpend;
float timeuse;
gettimeofday(&tpstart,NULL); // 开始时间
function();
gettimeofday(&tpend,NULL); // 结束时间
/* 计算执行时间 */
timeuse=1000000*(tpend.tv_sec-tpstart.tv_sec)+ tpend.tv_usec-tpstart.tv_usec;
timeuse/=1000000;
printf("Used Time:%f\n",timeuse);
exit(0);
}
//////////////////////////////////////////////////////////////////////////////
时间类型
1)Coordinated Universal Time(UTC):世界标准时间(格林威治标准时间)
2)Calendar Time:日历时间,是用"从一个标准时间点(如:1970年1月1日0时)到此时经过的秒数"来表示的时间
1.时间获取
#include <time.h> time_t time(time_t *tloc)---------time_t t; t = time(NULL)
功能:获取日历时间,即从1970年1月1日0时到此时经过的秒数
2.时间转化
struct tm *gmtime(const time_t *timep)
功能:将日历时间转化为格林威治标准时间,并保存至TM结构
struct tm *localtime(const time_t *timep)
功能:将日历时间转化为本地时间,并保存至TM结构
3.时间显示
char *asctime(const struct tm *tm)
功能:将tm格式的时间转化为字符串
char *ctime(const time_t *timep)
功能:将日历时间转化为本地时间的字符串形式
4.获取时间
int gettimeofday(struct timeval *tv,struct timezone *tz)
功能:获取从今日凌晨到现在的时间差,常用于计算事件耗时
struct timeval{
int tv_sec; // 秒数
int tv_usec;//微秒数
}
//用法gettimeofday(&start,NULL);gettimeofday(&over,NULL); 再用两个时间相减
5.延时执行
unsigned int sleep(unsigned int seconds) //功能:使程序睡眠seconds秒
void usleep(unsigned long usec) //功能:使程序睡眠usec微秒
/////////////////////////////////////////////////////////////////////////////////
代码例子:
#include <time.h>
#include <stdio.h>
int main(void)
{
struct tm *local;
time_t t;
/* 获取日历时间 */
t=time(NULL);
/* 将日历时间转化为本地时间 */
local=localtime(&t);
/*打印当前的小时值*/
printf("Local hour is: %d\n",local->tm_hour);
/* 将日历时间转化为格林威治时间 */
local=gmtime(&t);
printf("UTC hour is: %d\n",local->tm_hour);
return 0;
}
*******************************************
#include <time.h>
#include <stdio.h>
int main(void)
{
struct tm *ptr;
time_t lt;
/*获取日历时间*/
lt=time(NULL);
/*转化为格林威治时间*/
ptr=gmtime(<);
/*以格林威治时间的字符串方式打印*/
printf(asctime(ptr));
/*以本地时间的字符串方式打印*/
printf(ctime(<));
return 0;
}
******************************************
#include <sys/time.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/* 算法分析 */
void function()
{
unsigned int i,j;
double y;
for(i=0;i<1000;i++)
for(j=0;j<1000;j++)
y++;
}
main()
{
struct timeval tpstart,tpend;
float timeuse;
gettimeofday(&tpstart,NULL); // 开始时间
function();
gettimeofday(&tpend,NULL); // 结束时间
/* 计算执行时间 */
timeuse=1000000*(tpend.tv_sec-tpstart.tv_sec)+ tpend.tv_usec-tpstart.tv_usec;
timeuse/=1000000;
printf("Used Time:%f\n",timeuse);
exit(0);
}
相关文章推荐
- 文件I/O编程学习笔记三(linux 时间编程)
- linux应用编程笔记(7)时间编程
- LINUX学习笔记10——时间编程
- 文件I/O编程学习笔记三(linux 时间编程)
- 嵌入式学习笔记_Linux(二)——Linux时间编程
- linux时间编程之学习笔记-LS10
- 2010-07-21 Linux C 时间编程
- [原]Linux网络编程学习笔记
- Linux下C编程入门笔记——文件IO操作(一)
- Linux下C编程入门笔记——文件IO操作(二)
- linux 学习- 编程基础之时间编程
- Linux下C编程入门笔记——文件IO操作
- Linux 网络编程笔记
- linux操作系统下c语言编程入门--时间概念
- linux串口编程笔记
- Linux设备驱动开发详解--笔记3--Linux内核及内核编程
- linux 编程之库的使用(学习笔记)
- 关于Linux下时间编程的问题
- Linux/POSIX Socket编程 笔记1及反思
- Linux操作系统下C语言编程入门学习笔记(...20090601(第一遍学完待整理)...)