请问在C语言里怎么获取当前时间和日期(精确到毫秒)?

Python013

请问在C语言里怎么获取当前时间和日期(精确到毫秒)?,第1张

先申明下,这个是我转百度知道的,经常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

其它你一目了然啦。

用clock就到毫秒了. 它是直接返回毫秒.

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main()

{

clock_t start, finish

double elapsed_time

start=clock()

finish=clock()

elapsed_time = finish-start

}

函数原型:

DWORD GetTickCount(void)

函数作用:

1、一般用作定时相关的操作。GetTickCount() 返回开机以来经过的毫秒数

2、在要求误差不大于1毫秒的情况下,可以采用GetTickCount()函数,该函数的返回值是DWORD型,表示以毫秒为单位的计算机启动后经历的时间间隔。使用下面的编程语句,可以实现50毫秒的精确定时,其误差小于1毫秒。

函数举例:

实现延时

Public Sub Sleep(numa As Long)

Dim num1 As Long

Dim num2 As Long

Dim numb As Long

numb = 0

num1 = GetTickCount

Do While numa - numb >0

num2 = GetTickCount

numb = num2 - num1

DoEvents

Loop

End Sub

C++版

DWORD k=::GetTickCount()//获取毫秒级数目

int se = k/1000// se为秒

cout<<se<<endl

库文件:kernel32.dll

C/C++头文件:winbase.h

windows程序设计中可以使用头文件windows.h