转自:http://blog.csdn.net/jinjian2009/article/details/9449585
之前使用过cocos2d-x获取系统时间,毫秒级的
long getCurrentTime() { struct timeval tv; gettimeofday(&tv,NULL); return tv.tv_sec * 1000 + tv.tv_usec / 1000; }
或者这样写
long getCurrentTime() { struct cc_timeval tv; CCTime::gettimeofdayCocos2d(&tv, NULL); return tv.tv_sec * 1000 + tv.tv_usec / 1000; }
上面两种实现应该都是没有问题的~~~之前获取时间的主要作用是给随机函数做种子,或者计算FPS,或者作为自己的定时器使用~这些都没有问题
后来有项目需要获取年月日等时间
void GetTime(int level) { struct tm *tm; time_t timep; #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) time(&timep); #else struct cc_timeval now; CCTime::gettimeofdayCocos2d(&now, NULL); timep = now.tv_sec; #endif tm = localtime(&timep); int year = tm->tm_year + 1900; int month = tm->tm_mon + 1; int day = tm->tm_mday; int hour=tm->tm_hour; int min=tm->tm_min; int second=tm->tm_sec; }