
ANSIC: ftime()
struct timeb {
time_t time
unsigned short millitm
short timezone
short dstflag
}
2、另外,还有就是更精确定计时,需要CPU的支持,具体情况,可以参考MSDN。
LARGE_INTEGER frequency = {0}
LARGE_INTEGER now = {0}
LARGE_INTEGER end = {0}
QueryPerformanceFrequency(&frequency);
while (QueryPerformanceCounter(&now) &&((now.QuadPart - end.QuadPart) <0))
{
Sleep(0)
}
取得系统时间,用指定时间的年,月,日,时,分,秒,分别减去系统对应的位,所得时间换算成秒,然后就用秒表的原理,每过一秒,把剩余时间除以一年的秒数,余数再除以一个月的秒数,以此类推,然后把它输出到屏幕。time_t tTime//距1900年1月1日的秒数
char str[80]
struct tm* stTm//时间结构,格式请见其它回答
time(&timer)
stTm = localtime(&tTime)
strftime(str,sizeof(str),"%Y%m%d",stTm)//格式化时间
printf(str)//输出
另外,格式化时间的格式说明如下,希望对你有帮助:
%a 星期几的简写
%A 星期几的全称
%b 月分的简写
%B 月份的全称
%c 标准的日期的时间串
%C 年份的后两位数字
%d 十进制表示的每月的第几天
%D 月/天/年
%e 在两字符域中,十进制表示的每月的第几天
%F 年-月-日
%g 年份的后两位数字,使用基于周的年
%G 年分,使用基于周的年
%h 简写的月份名
%H 24小时制的小时
%I 12小时制的小时
%j 十进制表示的每年的第几天
%m 十进制表示的月份
%M 十时制表示的分钟数
%n 新行符
%p 本地的AM或PM的等价显示
%r 12小时的时间
%R 显示小时和分钟:hh:mm
%S 十进制的秒数
%t 水平制表符
%T 显示时分秒:hh:mm:ss
%u 每周的第几天,星期一为第一天 (值从0到6,星期一为0)
%U 第年的第几周,把星期日做为第一天(值从0到53)
%V 每年的第几周,使用基于周的年
%w 十进制表示的星期几(值从0到6,星期天为0)
%W 每年的第几周,把星期一做为第一天(值从0到53)
%x 标准的日期串
%X 标准的时间串
%y 不带世纪的十进制年份(值从0到99)
%Y 带世纪部分的十制年份
%z,%Z 时区名称,如果不能得到时区名称则返回空字符。
%% 百分号
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)