显示当前时间
clock
获取并操纵时间
cal
显示本月日历
hwclock
查询并设置硬件时钟(RTC)
Unix时间值
1. 日历时间 自1970-1-1:00:00:00以来所经过的秒数累计值
2. 进程时间 也成为cpu时间,以时钟滴答计算。每秒中为50、60、100个滴答。系统基本类型为clock_t保存这种时间值。 Posix定义为 CLK_TCK,用其说明每秒滴答数。
三个进程时间:时钟时间,用户cpu时间,系统cpu时间。
timeval结构
#include
struct timeval{
time_t tv_sec;
susecond_t tv_usec; //当前妙内的微妙数
};
tm结构
struct tm{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
}
tms结构
保存着一个进程及其子进程使用的cpu时间
struct tms{
clock_t tms_utime;
clock_t tms_stime;
clock_t tms_cutime;
clock_t tms_cstime;
}
timer_struct结构
#include
struct timer_struct{
unsigned long expires; //定时器被激活的时刻
void (*fn)(void); //定时器激活后的处理函数
}
文件的时间
st_atime 文件数据的最后存取时间
st_mtime 文件数据的最后修改时间
st_ctime i节点状态的最后更改时间
utime函数
更改文件的存取和修改时间
int utime(const char pathname, const struct utimbuf *times) // return value 0 or -1
times 为空指针,存取和修改时间设置为当前时间
struct utimbuf{
time_t actime;
time_t modtime;
}
time函数
日历时间 返回自1970-1-1:00:00:00以来经过的秒数累计值
#include
time_t time(time_t *calptr)
time_t now;
time(&now);
printf("now time is %d\n",now);
times函数
返回自系统自举后经过的时钟滴答数
#include
clock_t times(struct tms *buf);
clock_t start,end;
struct tms t_start,t_end;
start(=times(&t_start);
end=times(&t_end);
localtime函数
将日历时间变换成本地时间,考虑到本地时区和夏令时标志。
#include
struct tm *localtime(const time_t * calptr);
gmtime函数
将日历时间变换成国际标准时间的年月日分秒
#include
struct tm *gmtime(const time_t *calptr);
time_t time1;
struct tm *time2;
time(&time1);
//time2=gmtime(&time1);
time2=localtime(&time1);
printf("%d-%d-%d %d:%d:%d\n",time2->tm_year,time2->tm_mon,time2->tm_mday,\
time2->tm_hour,time2->tm_min,time2->tm_sec);
mktime函数
以本地时间的年月日为参数,将其变换成time_t值
#include
time_t mktime(struct tm *tmptr);
……
time_t time1;
time_t time3;
struct tm *time2;
time(&time1);
//time2=gmtime(&time1);
time2=localtime(&time1);
time3=mktime(time2);
asctime函数
产生形式的26字节字符串,参数指向年月日等字符串的指针。与date命令输出形式类似
#include
char *asctime(const struct tm *tmptr);
ctime函数
产生形式的26字节字符串,参数指向日历时间的指针。
#include
char *ctime(const time_t *calptr);
……
time_t time1;
time_t time3;
struct tm *time2;
time(&time1);
//time2=gmtime(&time1);
time2=localtime(&time1);
time3=mktime(time2);
char strasctime[30],strctime[30];
strcpy(strasctime,asctime(time2));
printf(“time: %s\n”, strasctime);
strcpy(strctime,ctime(&time3));
printf(“time: %s\n”, strctime);
strftime函数
格式化时间输出
#include
size_t strftime(char *buf,size_t maxsize,const char *format,const struct tm *tmptr);
……
time_t time1;
struct tm *time2;
time(&time1);
time2=gmtime(&time1);
//time2=localtime(&time1);
char buf[100];
strftime(buf,100,"%x %X \n %Y %m %d %H %M %S \n%c",time2);
printf(“time: %s\n”, buf);
crossbitter 于 2011-09-26 17:29:18发表:
(q):s沙发无解。。
wokanhaoziji 于 2011-09-26 17:17:34发表:
oh is very good please continue