takeiteasy 发表于 2015-6-20 09:16:19

C/C++获取当前系统毫秒时间

笔者在做Android NDK底层测试编码,很多时候需要获取当前系统毫秒时间来准确分析数据,下面的代码是在Android系统上做了测试,所以此函数代码在Linux系统可行,至于VC上面是否可行,我也没测试(应该不行吧),因为VC与Linux C中的sleep就有很大差别。我将C/C++获取当前系统毫秒时间分享给大家。

Java获取当前系统毫秒时间很简单:
public static void main(String[] args){
    System.out.println("java program :" + System.currentTimeMillis());
}

C/C++稍微复杂一点,要借助timeval,至于timeval的详细说明,只需google一下就明了,我就不再介绍:
#include <stdio.h>
#include <sys/time.h>   
long getCurrentTime()
{
   struct timeval tv;
   gettimeofday(&tv,NULL);
   return tv.tv_sec * 1000 + tv.tv_usec / 1000;
}

int main()
{
    printf("c/c++ program:%ld\n",getCurrentTime());
    return 0;
}

测试效果:
c/c++ program:1350354127212
java program:1350354129299
页: [1]
查看完整版本: C/C++获取当前系统毫秒时间