http://blog.csdn.net/davintanger/article/details/7467791
#include <sys/time.h>
unsigned int GetTickCount()
{
struct timeval tv;
if(gettimeofday(&tv, 0))
return 0;
return (tv.tv_sec * 1000) + (tv.tv_usec / 1000);
}
http://www.cocoachina.com/bbs/read.php?tid-51903.html
/* Return the tick count in ms */
int32u XTickCount(void)
{
int32u currentTime;
#ifdef X_PLATFORM_WIN
currentTime = GetTickCount();
#elif X_PLATFORM_IPHONE
struct timeval current;
gettimeofday(¤t, NULL);
currentTime = current.tv_sec * 1000 + current.tv_usec/1000;
#elif X_PLATFORM_ANDROID
struct timeval current;
gettimeofday(¤t, NULL);
currentTime = current.tv_sec * 1000 + current.tv_usec/1000;
/* struct timeval now;
if( gettimeofday( &now, NULL) != 0 ) {
CCLOG(@"cocos2d: error in gettimeofday");
dt = 0;
return;
}
// new delta time
if( nextDeltaTimeZero_ ) {
dt = 0;
nextDeltaTimeZero_ = NO;
} else {
dt = (now.tv_sec - lastUpdate.tv_sec) + (now.tv_usec - lastUpdate.tv_usec) / 1000000.0f;
dt = MAX(0,dt);
}
lastUpdate = now;
*/
#endif
#ifdef OS_VXWORKS
ULONGA timeSecond = tickGet() / sysClkRateGet();
ULONGA timeMilsec = tickGet() % sysClkRateGet() * 1000 / sysClkRateGet();
currentTime = timeSecond * 1000 + timeMilsec;
#endif
return currentTime;
}