gettimeofday (&tv , &tz);//获取时区保存tz中 p->tm_year = _time->year - 1900; p->tm_mon = _time->month - 1; p->tm_mday = _time->day; p->tm_hour = _time->hour; p->tm_min = _time->minute; p->tm_sec = _time->second; time_t utc_t = mktime(p); delete(p); tv.tv_sec = utc_t; tv.tv_usec = 0; if (settimeofday(&tv, &tz) < 0) return false; return true; TIME* CSystemTime::getSystemUTCTime() TIME *t = new TIME(); time_t timep; struct tm *p; time(&timep); p = gmtime(&timep); //获取UTC时间 t->year = 1900 + p->tm_year; t->month = 1 + p->tm_mon; t->day = p->tm_mday; t->hour = p->tm_hour; t->minute = p->tm_min; t->second = p->tm_sec; return t; TIME* CSystemTime::getSystemLocalTime() TIME *t = new TIME(); time_t timep; struct tm *p; time(&timep); p = localtime(&timep); //取得当地时间 t->year = 1900 + p->tm_year; t->month = 1 + p->tm_mon; t->day = p->tm_mday; t->hour = p->tm_hour; t->minute = p->tm_min; t->second = p->tm_sec; return t; } /* namespace qyh */ 比如现在拿到了一个当前 系统 时间 时间 点,现在想在一个 UI 界面上展示给用户是几点几分,大家能想到的就是先用 to_ time _t() 转成 time _t 类型的秒的计数,然后再用 C 标准库提供的 local time () 或 gm time () 系列函数转成离散的 时间 数据结构 tm,这样就知道几点几分了。hh_mm_ss类的构造函数和主要的成员函数都是 constexpr 类型,这意味着可以声明 constexpr 类型的hh_mm_ss对象,同时也可以在其他常量表达式或常量函数中使用hh_mm_ss。.. 作者 mail: agooou@gmail.com c++ 时间 主要分为GMT 时间 和本地 时间 。GMT 时间 叫做格林威治 时间 ,也就是UTC 时间 ,这个 时间 有点特殊,它所在时区为0,在这个时区内,本地 时间 和GMT 时间 完全一致,地球上其他地方的 时间 都得在这个 时间 基础上加一个时区,这才是其他地方的本地 时间 。地球被分为24个时区,相邻时区相差一个小时。比如中国上海是+8区,意思就是,假如格林威治现 1. 时间 概念 在日常生活中我们遇到的和 时间 相关的概念有北京 时间 、时差、12小时制、24小时制等,在软件开发中我们也经常遇到和 时间 相关的概念,软件虽说是一个虚拟的事物,但它仍然是来源于生活,不会脱离生活。我们在开发中遇到的 时间 概念大多可以对应上日常生活中的 时间 概念,但也有一些是软件作者(如微软等)人为制造... C 标准库提供了 time ()函数与函数可以 获取 到当前 系统 的日历 时间 ,但 time ()函数精度只能到秒级,如果需要更高精度的 系统 时间 需要使用函数,精度达到微秒级。