轉自: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; }