• 关于时区


    • GMT:格林尼治平时(Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。由于地球每天的自转是有些不规则的,而且正在缓慢减速,因此格林尼治时间已经不再被作为标准时间使用。(参考维基百科
    • UTC:协调世界时,又称世界标准时间或世界协调时间,简称UTC(从英文“Coordinated Universal Time”/法文“TempsUniversel Cordonné”而来),是最主要的世界时间标准,其以原子时秒长为基础,在时刻上尽量接近于格林尼治平时。(参考维基百科
    • DST:夏时制,又称日光节约时制、日光节约时間(英语:Daylight saving time)或夏令时间(英语:Summer time),是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。(参考维基百科)。简单说来,夏时制就是在当地时间的基础上,在夏季时间段内将时钟调快一小时,过后再调慢一小时。
    • 通过函数GetTimeZoneInformation获取系统时区信息。
    • 通过函数SetTimeZoneInformation设置系统时区。
    • 两个函数都涉及TIME_ZONE_INFORMATION结构体:
       1     typedef struct _TIME_ZONE_INFORMATION { 
       2         LONG Bias; //分钟为单位
       3         WCHAR StandardName[32]; 
       4         SYSTEMTIME StandardDate; //标准时日期,即为调整为标准时的日期
       5         LONG StandardBias; //通常为0
       6         WCHAR DaylightName[32]; 
       7         SYSTEMTIME DaylightDate;//夏制时日期 ,即为调整为夏制时的日期
       8         LONG DaylightBias; //分钟为单位
       9 
      10     } TIME_ZONE_INFORMATION; 
    • 通过SetTimeZoneInformation修改本地时间:
      • SetTimeZoneInformation只会影响系统时间(GetSystemTime),不会影响本地实时间(GetLocalTime
      • WinCE无SystemTimeToTzSpecificLocalTime函数,只能自己实现(两种方法):
        • 通过system time和时区信息计算local time,比较麻烦
        • 通过file time间接实现,代码:
           1 BOOL SystemTimeToLocalTime(const SYSTEMTIME *pSt,SYSTEMTIME *pLt)
           2 {
           3     if (!pSt || !pLt)
           4     {
           5         return FALSE;
           6     }    
           7 
           8     FILETIME ft,lft;
           9     BOOL b = SystemTimeToFileTime(pSt,&ft);
          10     if (!b) return b;
          11 
          12     b = FileTimeToLocalFileTime(&ft,&lft);//文件时间--->本地文件时间,使用了时区信息
          13     if (!b) return b;
          14 
          15     return FileTimeToSystemTime(&lft,pLt);
          16 }
  • 相关阅读:
    Linux Shell脚本编程实用技巧
    Transmission在Pandorabox(Openwrt)下的交叉编译
    Pandorabox下关于vsftpd匿名访问的设置
    PandoraBox下部署阿里云(aliyun)DDNS动态域名更新(shell脚本)
    win7系统封装小记
    CF R#295 (DIV.2) E. Pluses everywhere
    CF R#295 (DIV.2) D. Cubes
    CF R#295 (DIV.2) C. DNA Alignment
    winform在线操作office--dsoframerocx第三方控件
    Dapper操作
  • 原文地址:https://www.cnblogs.com/dahai/p/2644375.html
Copyright © 2020-2023  润新知