加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d-x获取当前时间

发布时间:2020-12-14 16:48:56 所属栏目:百科 来源:网络整理
导读:之前使用过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::gettimeofdayCo

之前使用过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;
// }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读