您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x获取当前系统时间,实现跨平台

2014-02-20 15:06 211 查看
在unix和linux下的获取时间和在win32获得的时间是不同的,所以要分开来写。代码如下:

std::string Tools::get_date_now()
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
struct cc_timeval now;
CCTime::gettimeofdayCocos2d(&now, NULL);
struct tm *tm;
time_t tp = now.tv_sec;
tm = localtime(&tp);
char date[32] = { 0 };
sprintf(date, "%d-%02d-%02d", (int) tm->tm_year + 1900,
(int) tm->tm_mon + 1, (int) tm->tm_mday);
return string(date);
#endif
#if ( CC_TARGET_PLATFORM == CC_PLATFORM_WIN32 )
struct tm *tm;
time_t timep;
time(&timep);
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 minute=tm->tm_min;
//int second=tm->tm_sec;
char time[64] = { 0 };
sprintf(time, "%d-%02d-%02d %02d:%02d:%02d", (int) tm->tm_year + 1900,
(int) tm->tm_mon + 1, (int) tm->tm_mday, (int) tm->tm_hour,
(int) tm->tm_min, (int) tm->tm_sec);
return string(time);
#endif
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: