转自

http://xujinzeng.blog.163.com/blog/static/260083420086114747452/

今天看一个有关时间的例程,发现Getsystime()与Getlocaltime()返回的时间相差了8个小时,于是查找资料,发现了这两个函数的区别:

  根据不同的需求,可能需要使用不同的时间,目前有UTC和本地时间。UTC是格林威治时间,也就是全球标准时间。本地时间就是相对于UTC而言的,比如中国北京是在东8区,相对于UTC就多了8个小时。一般使用到的时间都是使用本地时间,也就是调用函数GetLocalTime。
 
函数GetSystemTime和GetLocalTime声明如下:
 
WINBASEAPI
VOID
WINAPI
GetSystemTime(
    __out LPSYSTEMTIME lpSystemTime
    );
    
WINBASEAPI
VOID
WINAPI
GetLocalTime(
    __out LPSYSTEMTIME lpSystemTime
    );
 
lpSystemTime是获取系统时间的结构。
 
调用函数的例子如下:
#001 
#002  //获取系统时间。
#003  //蔡军生 2007/11/11 QQ:9073204 深圳
#004  void TestSystem(void)
#005  {
#006         //获取系统的UTC时间。
#007         SYSTEMTIME stUTC;
#008        ::GetSystemTime(&stUTC);
#009 
#010         //显示时间的间隔。
#011         const int nBufSize = 256;
#012         TCHAR chBuf[nBufSize];
#013         wsprintf(chBuf,_T("UTC: %u/%u/%u %u:%u:%u:%u %d\r\n"),             
#014               stUTC.wYear, stUTC.wMonth, stUTC.wDay,
#015               stUTC.wHour, stUTC.wMinute, stUTC.wSecond,
#016               stUTC.wMilliseconds,stUTC.wDayOfWeek);
#017         OutputDebugString(chBuf);
#018 
#019 
#020         //获取当地的时间。
#021         SYSTEMTIME stLocal;
#022        ::GetLocalTime(&stLocal);
#023 
#024         //显示时间的间隔。
#025         wsprintf(chBuf,_T("Local: %u/%u/%u %u:%u:%u:%u %d\r\n"),                  
#026               stLocal.wYear, stLocal.wMonth, stLocal.wDay,
#027               stLocal.wHour, stLocal.wMinute, stLocal.wSecond,
#028               stLocal.wMilliseconds,stLocal.wDayOfWeek);
#029         OutputDebugString(chBuf);
#030 
#031  }
#032 
 
上面两个函数在我测试时输出的结果,如下:
UTC: 2007/11/11 1:53:1:46 0
Local: 2007/11/11 9:53:1:46 0

Getsystime()与Getlocaltime()函数 相差8个小时的更多相关文章

  1. PHP date函数时间相差8个小时解决办法

    php中date时间相差8个小时的解决办法 作者: PHP中文网|标签:|2016-7-25 08:46 在Windows上,在默认的PHP配置下,date函数返回的时间值和当地时间总是相差8小时,即 ...

  2. MySQL 查询出的时间相差几个小时

    最近做的一个springboot2.0项目. 前提是我的服务器时区没有问题: [root@wangbo ~]# date -R Mon, 22 Apr 2019 19:24:33 +0800 可以参考 ...

  3. 使用xampp发现php的date()函数与本地相差7个小时

    具体方法: 1. 打开php.ini 2. 搜索timezone 3. 修改为PRC 4. 回车键 5. 修改为PRC 6. 完成 没想到这么一个小问题也是一个大坑,在网上找了半天基本都是说要修改这个 ...

  4. CST时区,MYSQL与JAVA-WEB服务器时间相差13个小时的问题

    最近倒腾了一台阿里云主机,打算在上面装点自己的应用.使用docker安装了安装mysql后,发现数据库的存储的时间与java-web应用的时间差8个小时,初步怀疑是docker容器时区的问题.经过一系 ...

  5. javascript调用Flash里对象的方法(函数)搞了五个小时。

    搞了几个小时后,才发现,之前走的路是错的. 今天在Firefox浏览器上测试一个javascript调用Flash中的一个对象的方法时遇到问题了, 一搞就整整搞了一个下午. 我记得之前我用Flash8 ...

  6. Windows和Ubuntu双系统时间相差8个小时的问题

    由于要学编程,在windows 10上安装了Ubuntu16.04双系统.但是却造成windows时间老是比实际时间慢八个小时,Ubuntu会与网络同步时间,但是在程序中调用主板时间时仍然是UTC时间 ...

  7. springboot 时间戳和 数据库时间相差14个小时

    在 springboot 开发过程中遇到一个奇怪的问题,就是已经设置系统时间GMT+8, 但是时间到数据库后会减少14个小时.后来发现是 jvm 时区和数据库时区设置不一致的问题. jvm 设置的是 ...

  8. tomcat 时间相差8个小时,百度上查到的,备份下

    通常网上一查都是 修改 tomcat 的参数 ,如catalina 文件,jvm parameters 等.如果都不起作用,可以使用如下方式.. 你可以修改jdk的时间校正了,你这么来.进入 \hom ...

  9. java计算两个日期相差多少天小时分钟等

    1.时间转换 data默认有toString() 输出格林威治时间,比如说Date date = new Date(); String toStr = date.toString(); 输出的结果类似 ...

随机推荐

  1. 基于Node.js的爬虫工具 – Node Crawler

    Node Crawler的目标是成为最好的node.js爬虫工具,目前已经停止维护. 我们来抓取光合新知博客tech栏目中的文章信息.访问http://dev.guanghe.tv/category/ ...

  2. fastdfs安装与配置

    FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线服务,如相 ...

  3. 20145322何志威 《Java程序设计》第8周学习总结

    教材学习内容总结 第十四章 NIO使用频道(channel)来衔接数据节点,对数据区的标记提供了clear(),rewind(),flip(),compact()等高级操作. 想要取得channel的 ...

  4. [BZOJ4016]最短路径树问题

    Description 给一个包含n个点,m条边的无向连通图.从顶点1出发,往其余所有点分别走一次并返回. 往某一个点走时,选择总长度最短的路径走.若有多条长度最短的路径,则选择经过的顶点序列字典序最 ...

  5. Elasticsearch Server,2nd Edition pdf 翻译 中文

    很偶然的机会,就需要接触到搜索,入门就是google trend已然超过solr的ES.在入门的时候找书的时候发现没有中文版的.于是自己开始翻译Elasticsearch Server,2nd Edi ...

  6. LaTeX模板 - FORMCM

    LaTex 模板 - FORMCM \documentclass{mcmthesis} \mcmsetup{CTeX = true, % 使用 CTeX 套装时,设置为 true tcn = 8989 ...

  7. Ubuntu 安装 networkx

    参考:ubuntu 下NetworkX的安装和使用 Dependences pip setuptools Commands 1.install networkx sudo pip install ne ...

  8. ThinkPHP开发笔记-视图

    1.如果要在模板中输出变量,必须在在控制器中把变量传递给模板,系统提供了assign方法对模板变量赋值,无论何种变量类型都统一使用assign赋值,而且assign方法必须在display和show方 ...

  9. 关于SpringMVC中两种映射器不能共存的解决

    首先大家都知道SpringMVC有两种映射器: org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping 和 org.spri ...

  10. Git常用命令和Git团队使用规范指南

    转自:https://wsgzao.github.io/post/git/ 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git.它的出现改变了 ...