方法一,#include<time.h>
int main()
{
time_t timep
struct tm *p
time (&timep)
p=gmtime(&timep)
printf("%d\n",p->tm_sec)/*获取当前秒*/
printf("%d\n",p->tm_min)/*获取当前分*/
printf("%d\n",8+p->tm_hour)/*获取当前时,这里获取西方的时间,刚好相差八个小时*/
printf("%d\n",p->tm_mday)/*获取当前月份日数,范围是1-31*/
printf("%d\n",1+p->tm_mon)/*获取当前月份,范围是0-11,所以要加1*/
printf("%d\n",1900+p->tm_year)/*获取当前年份,从1900开始,所以要加1900*/
printf("%d\n",p->tm_yday)/*从今年1月1日算起至今的天数,范围为0-365*/
}
方法二.#include <stdio.h>
#include <time.h>
int main ()
{
time_t t
struct tm * lt time (&t)//获取Unix时间戳。
lt = localtime (&t)//转为时间结构。
printf ( "%d/%d/%d %d:%d:%d\n",lt->tm_year+1900, lt->tm_mon, lt->tm_mday,
lt->tm_hour, lt->tm_min, lt->tm_sec)//输出结果
return 0}
扩展资料
1、CTimeSpan类
如果想计算两段时间的差值,可以使用CTimeSpan类,具体使用方法如下:
CTime t1( 1999, 3, 19, 22, 15, 0 )
CTime t = CTime::GetCurrentTime()
CTimeSpan span=t-t1//计算当前系统时间与时间t1的间隔
int iDay=span.GetDays()//获取这段时间间隔共有多少天
int iHour=span.GetTotalHours()//获取总共有多少小时
int iMin=span.GetTotalMinutes()//获取总共有多少分钟
int iSec=span.GetTotalSeconds()//获取总共有多少秒
2、timeb()函数
_timeb定义在SYS\TIMEB.H,有四个fields
dstflag
millitm
time
timezone
void _ftime( struct _timeb *timeptr )
struct _timeb timebuffer
_ftime( &timebuffer )
参考资料来源:百度百科:time函数
#include <stdio.h>#include <time.h>
int main()
{
time_t rawtime
struct tm * timeinfo
time ( &rawtime )
timeinfo = localtime ( &rawtime )
printf ( "当前系统时间: %s", asctime (timeinfo) )
return 0
}
说明:
time_t // 时间类型(time.h 定义)
struct tm { // 时间结构,time.h 定义如下:
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
}
time ( &rawtime )// 获取时间,以秒计,从1970年1月一日起算,存于rawtime
localtime ( &rawtime )//转为当地时间,tm 时间结构
asctime() // 转为标准ASCII时间格式:
//就是直接打印tm,tm_year 从1900年计算,所以要加1900,月tm_mon,从0计算,所以要加1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)