在说时间之前先说一个经常要用的时间结构体,Linux中与windows一样
SYSTEMTIME 结构体

typedef struct _SYSTEMTIME {WORD wYear;WORD wMonth;WORD wDayOfWeek;WORD wDay;WORD wHour;WORD wMinute;WORD wSecond;WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;

GetSystemTime是获取系统时间,UTC时间,其实是格林威治时间
GetLocalTime是获取当地时间,在格林威治时间上加上了东八区,就是增加了8小时的中国时区
SetLocalTime(LPSYSTEMTIME lpSystemTime)是设置系统时间

VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);   //本地时间
VOID GetSystemTime(LPSYSTEMTIME lpSystemTime); //格林威治时间

参数说明:
lpSystemTime: 指向一个用户自定义包含日期和时间信息的类型为 SYSTEMTIME 的变量,该变量用来保存函数获取的时间信息。

GetTickTime()获取系统开机到现在的时间,以毫秒计算 2^32-1 = 42,9496,7295ms /1000ms/3600s/24h=49.710days=1.6month
如果时间超过50天,那么时间就要重新开始
GetTickTime64()是64位的
返回值是ULONGLONG表示的时间会很大

下过是我做的一个例子

#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#define TOTAL 100000int compare(const void* a,const void* b)
{return *(int*)a - *(int*)b;
}int main()
{DWORD time1 = 0;DWORD time2 = 0;SYSTEMTIME st;GetLocalTime(&st);printf("Local time:%d-%d-%d %d:%d:%d %dms\n",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond,st.wMilliseconds);GetSystemTime(&st);printf("system time:%d-%d-%d %d:%d:%d %dms\n",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond,st.wMilliseconds);//Sleep(1000);st.wHour += 1;SetSystemTime(&st);time2 = GetTickCount();printf("start time:%d\n",time2);int nums[TOTAL];srand(GetTickCount());int index;for(index = 0; index < TOTAL;index++){nums[index] = rand() % TOTAL;//printf("%d->>%d\n",index,nums[index]);}qsort(nums,TOTAL,sizeof(nums[0]),compare);//for(index = 0; index < TOTAL;index++)//{//nums[index] = rand() % TOTAL;//printf("%d->>%d\n",index,nums[index]);//}time1 = GetTickCount();printf("end time:%d\n",time1);printf("running time:%d ms\n",time1 - time2);return 0;}

获取系统时间GetSystemTime、GetLocalTime、GetTickTime相关推荐

  1. 笔记1:VC获取系统时间的方法

    笔记1:VC 获取系统时间的方法 推荐的获取方法 获取时间方法种类 各种获取时间方法详解 方法1:time_t变量 和 time(time_t*)方法 方法2:system(" time&q ...

  2. VC获取系统时间、程序运行时间

    1.使用CTime类 CString str;  //获取系统时间  CTime tm;  tm=CTime::GetCurrentTime();  str=tm.Format("现在时间是 ...

  3. VC++ 获取系统时间的方法汇总

    1.使用CTime类(获取系统当前时间,精确到秒) ? 1 2 3 4 5 6 CString str; //获取系统时间 CTime tm; tm=CTime::GetCurrentTime();/ ...

  4. java自动获取时间 月代码_【java代码获取系统时间和执行定时任务】

    获取系统时间 主要类简介 SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类.它允许进行格式化(日期 -> 文本).解析(文本 -> 日期)和规范化. ...

  5. c++ 如何获取系统时间

    DoubleSnake   转载http://blog.csdn.net/zjnig711/article/details/2419081 c++ 如何获取系统时间 2008-04-28 15:34 ...

  6. Android - 获取系统时间和网络时间

    转载请注明出处:https://blog.csdn.net/mythmayor/article/details/72886021 有些时候我们的应用中只能使用网络时间,而不能使用系统的时间,这是为了避 ...

  7. 【VS开发】VC++ 获取系统时间、程序运行时间(精确到秒,毫秒)的五种方法

    1.使用CTime类(获取系统当前时间,精确到秒) CString str; //获取系统时间 CTime tm; tm=CTime::GetCurrentTime();//获取系统日期 str=tm ...

  8. 获取系统时间的几种方法,最高精确1ms

    ●[获取系统时间的几种方法,最高精确1ms] 1.硬件支持高精度计时器 ( 精确到1ms ) //获取的最准确,精确到1ms LARGE_INTEGER nFreq; LARGE_INTEGER nB ...

  9. windows平台获取系统时间

    1.方法1 1.1 示例代码 #include <time.h> #include <stdio.h>int main() {//获取系统时间,精确到秒struct tm sy ...

最新文章

  1. 关于网络连接方式的总结(HostOnly,NAT....)
  2. 前端学习(2732):重读vue电商网站42之添加富文本编辑器
  3. 分布式系统的开发经验与心得
  4. Getting Started with the Table Component
  5. [2019杭电多校第三场][hdu6609]Find the answer(线段树)
  6. Redis设计与实现读后感
  7. 知识付费系统源码(最新开源知识付费系统搭建下载)
  8. 小程序源码:全新实用工具证件照制作微信小程序源码下载支持多种证件生成与制作
  9. win11怎么关闭触控板?win11关闭触控板的三种解决方法
  10. 洛谷 P1653 猴子 解题报告
  11. 相较于本地渲染,云渲染用起来感觉怎么样?
  12. android加速度传感器转为线性速度,如何在android的驱动程序中对加速度传感器的数据进行方向和坐标的转...
  13. 移动端:苹果开发者账号Apple Developer Program
  14. 视 频 传 输 技 术
  15. python“反反爬虫”
  16. [附源码]Node.js计算机毕业设计高校运动会管理系统 Express
  17. 教师资格证查询成绩网站服务器,教师资格证成绩查询入口|面试报名入口
  18. 观看《创新的力量》观后感
  19. Java开发人员必须掌握的两个Linux魔法工具(四)
  20. 污染源在线监控_污染源在线监控数采仪

热门文章

  1. Python实现12306购票程序
  2. 《Samsung》三星四核高端平板电脑开发板UT-Exynos4412开发板
  3. 联通3G U2100与移动4G-TDD(N40)之间存在互调干扰问题
  4. flex布局与绝对定位
  5. Hanselminutes播客266-开源vs.赚钱vs.离奇的激光器-我们都邪恶吗? 与克里斯·塞尔斯(Chris Sells)...
  6. day6——is,==,编码和解码
  7. 利用css定义,设置flash为背景
  8. css画圆, 如何用纯css实现一个动态画圆环效果
  9. 【已解决】安卓手机的GeeTest文件夹是什么
  10. unity-真机调试Android