cocos2d-x获取当前时间

前端之家收集整理的这篇文章主要介绍了cocos2d-x获取当前时间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

之前使用过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,或者作为自己的定时器使用~这些都没有问题

后来有项目需要获取年月日等时间

struct tm *tm;
    time_t timep;
    if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) {
        //win平台下这样处理
        time(&timep);
    }else {
        //其它平台这样处理
        struct timeval nowTimeval;
        gettimeofday(&nowTimeval,NULL);
        timep = nowTimeval.tv_sec;
    }

    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;

    CCLOG("%d-%d-%d %d-%d-%d",year,month,day,hour,min,second);//输出时间



// 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;
// }

猜你在找的Cocos2d-x相关文章