请问在C语言里怎么获取当前时间和日期(精确到毫秒)?
2013-07-06
展开全部
先申明下,这个是我转百度知道的,经常BAIDU一下,就OK了
#include <stdio.h>
#include <time.h>
void main ()
{
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ( "\007The current date/time is: %s", asctime (timeinfo) );
exit(0);
}
=================
#include <time.h> -- 必须的时间函数头文件
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时间格式:
星期 月 日 时:分:秒 年
=========================================
你要的格式可这样输出:
printf ( "%4d-%02d-%02d %02d:%02d:%02d\n",1900+timeinfo->tm_year, 1+timeinfo->tm_mon,
timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
就是直接打印tm,tm_year 从1900年计算,所以要加1900,
月tm_mon,从0计算,所以要加1
其它你一目了然啦。
#include <stdio.h>
#include <time.h>
void main ()
{
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ( "\007The current date/time is: %s", asctime (timeinfo) );
exit(0);
}
=================
#include <time.h> -- 必须的时间函数头文件
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时间格式:
星期 月 日 时:分:秒 年
=========================================
你要的格式可这样输出:
printf ( "%4d-%02d-%02d %02d:%02d:%02d\n",1900+timeinfo->tm_year, 1+timeinfo->tm_mon,
timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
就是直接打印tm,tm_year 从1900年计算,所以要加1900,
月tm_mon,从0计算,所以要加1
其它你一目了然啦。
推荐于2017-05-21
展开全部
#include <windows.h>
int main()
{
SYSTEMTIME lpsystime;
GetLocalTime(&lpsystime);
printf("%u:%u:%u:%u:%u:%u:%u:%u\n",lpsystime.wYear,lpsystime.wMonth,
lpsystime.wDayOfWeek,lpsystime.wDay,lpsystime.wHour,lpsystime.wMinute,
lpsystime.wSecond,lpsystime.wMilliseconds);
getchar();
return 0;
}
int main()
{
SYSTEMTIME lpsystime;
GetLocalTime(&lpsystime);
printf("%u:%u:%u:%u:%u:%u:%u:%u\n",lpsystime.wYear,lpsystime.wMonth,
lpsystime.wDayOfWeek,lpsystime.wDay,lpsystime.wHour,lpsystime.wMinute,
lpsystime.wSecond,lpsystime.wMilliseconds);
getchar();
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-06
展开全部
clock_t t1,t1;
t1=clock();
..
t2=clock();
(t2-t1)/18.2的结果是秒,不过这是小数,可以得到毫秒级
t1=clock();
..
t2=clock();
(t2-t1)/18.2的结果是秒,不过这是小数,可以得到毫秒级
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-06
展开全部
你试试下面的程序:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
clock_t start, finish;
double elapsed_time;
start=clock();
//do sonething ...
finish=clock();
elapsed_time = finish-start;
}
我在VC++ 6.0下运行,可以得到以毫秒为单位的计时
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
clock_t start, finish;
double elapsed_time;
start=clock();
//do sonething ...
finish=clock();
elapsed_time = finish-start;
}
我在VC++ 6.0下运行,可以得到以毫秒为单位的计时
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询