在用 cocos2d-x的过程中,想计算时间差,比如touchbegin与touchend的点击时间差的时候,需要获得当前的时间,这个时候一般用的是time(NULL)来获得,返回的单位是time_t 在ios平台上看了下,也就是long,也就是从1970年1月1日开始的秒数。但是这个时间不是很精确,只能精确到秒。
如果要经常到毫秒,或者微秒,我们可以使用C函数:clock_t clock(void),函数返回一个clock_t 类型,其实也是个long,然后怎么知道这个返回值的表示多少时间呢?
这里有个宏,CLOCKS_PER_SEC 明显就是 一秒钟有多少clocks的意思,我们获取clocks后除以这个宏就可以得到以秒为单位的时间了,代码如下:
float curTimeSec = (float) click()/(float) CLOCKS_PER_SEC ;