写脚本时经常遇到有关不同地方的服务器的时间同步问题,现整理一下以作备忘。

UTC: Universal Time Coordinated 协调世界时,又称世界标准时间
GMT: Greenwich Mean Time 格林尼治平均时
UTC和GMT都与英国伦敦的本地时相同,所以程序中UTC与GMT没什么不同。

时区:全球24个时区,把以伦敦为中心的世界地图展开,UTC和GMT的伦敦是0区,伦敦的右边直到新西兰的东部不远的斐济为东区,而左边到太平洋中间为西区。一般用5位时区差来表示与UTC相差的小时数,东区为正,西区为负。如北京时区是东八区,领先UTC八个小时,记为 +0800;纽约的时区是西五区,比UTC落后五个小时,记为 -0500。
UTC + 时区差 = 本地时间

时间戳:
PHP记为自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。PHP用time()函数来获得当前时间戳,用mktime来生成一个时间戳。
Javascript则精确到毫秒数。用dateObject.getTime()来获得当前时间戳,用Date.parse(datestring)来生成一个时间戳。

**纽约时间(-0500)和北京时间换算:
UTC + (-0500) = 纽约时间 (3)
UTC = 纽约时间 + 0500 (4)
把(2)式 - (4)式相比较,
UTC = 北京时间 - 0800 = 纽约时间 + 0500 (5)
即 北京时间 = 纽约时间 + 1300 (6)
即北京时间领先纽约时间十三个小时,由(6)式,
纽约时间 = 北京时间 - 1300 (7)

在四月下旬,纽约又换用夏令时,又称为日光节约时,比标准纽约时间提前一个小时,实际成为西四区的标准时间,成为 -0400。
UTC + (-0400) = 纽约夏令时,套用以上公式,
北京时间 = 纽约夏令时 + 1200
纽约夏令时 = 北京时间 - 1200

**电子邮件中的时间:
Email程序记录的是发信服务器本地RFC 822格式的时间,在电子邮件信头的Date域记为+0800:
Date: Fri, 08 Nov 2002 09:42:22 +0800

Date信头是可以修改的,所以平时可以看到垃圾邮件的时间是几十年前或后。

而像Outlook和Thunderbird会自动把UTC转换为本地时间,想要看真实时间的话要查看完整邮件头。

**把服务器上记录的时间转换为客户端本地时间
<?
/**
 * 把如 2009-02-12 15:48:45 +0800 格式的时间转换为浏览者的本地时间
 * 调用方法:
 * <script language="JavaScript">calcLocaltime(<? echo themktime($tmptime); ?>, <? echo thezone($tmptime); ?>)</script>
 */
function themktime($datetime) { //把时间 2009-02-12 15:48:45 转换为时间戳
    $hour = substr($datetime, 11, 2);
    $min = substr($datetime, 14, 2);
    $sec = substr($datetime, 17, 2);
    $mon = substr($datetime, 5, 2);
    $day = substr($datetime, 8, 2);
    $year = substr($datetime, 0, 4);

$unixtime = mktime($hour, $min, $sec, $mon, $day, $year);
    return $unixtime;
}

function thezone($datetime) { //提取时区小时差
    $zone = substr($datetime, 20, 3);
    return $zone;
}
?>

<script language="JavaScript">
function calcLocaltime(remotetime, offset) { //remotetime为服务器时间戳,offset为时区小时差
    utc = remotetime * 1000 - offset * 3600 * 1000; //JS时间戳为毫秒,而PHP为秒,要作换算(*1000)
    d = new Date();
    nd = new Date(utc - ( 60000 * d.getTimezoneOffset() ) ); //注意: getTimezoneOffset = UTC - 本地时间,结果以分为单位;而一般时区差 = 本地时间 - UTC,以小时为单位
    document.write(nd.toLocaleString());
}
</script>

UTC GMT 时区 时间戳相关推荐

  1. GMT、UTC、时区、本地时间、UNIX时间戳

    GMT和UTC GMT,即格林尼治标准时间,也就是世界时.GMT的正午是指当太阳横穿格林尼治子午线(本初子午线)时的时间.但由于地球自转不均匀不规则,导致GMT不精确,现在已经不再作为世界标准时间使用 ...

  2. UTC、GMT、时间戳之间的关系

    时区 世界时区的划分以本初子午线为标准,向东12个时区,向西12个时区,子午线所在区为0时区,东十二区和西十二区重合,所以一共是24个时区. GMT和UTC GMT: 即格林威治时间(Greenwic ...

  3. CST,CET,UTC,GMT,DST,Unix时间戳几种常见时间概述与关系

    1.UTC: Universal Time Coordinated 协调世界时,又称世界标准时间 多数的两地时间表都以GMT来表示,但也有些两地时间表上看不到GMT字样,出现的反而是UTC这3个英文字 ...

  4. 世界时区: UTC/GMT+08:00 东八区

    世界时区: UTC/GMT+08:00  东八 转载▼ 区 UTC/GMT+08:00  东八区: 112度30分-127度30分 东8时区  香港新加坡 (GMT+ 8) 中国标准时间(台湾:中原标 ...

  5. 关于时区的时间的详解,比如UTC\GMT等

    UTC 和 GMT 及 北京时间的关系 UTC和GMT,这两者几乎是同一概念.它们都是指的格林尼治标准时间,只不过UTC的称呼更为正式一点.两者的区别在于前者是一个天文 上的概念,而 后者是基于一个原 ...

  6. php utc时间_PHP转换UNIX时间戳 UTC时间(TZ格式) 标准时间的方法 UNIX UTC GMT时间、本地时间互转...

    在PHP编程中经常会遇到各种不同格式的时间 比如: unix时间戳:1547740800 UTC时间:2019-1-18T00:00:00Z 标准时间:2019-1-18 00:00:00 以上这三个 ...

  7. php时间戳转utc时间格式,PHP转换UNIX时间戳 UTC时间(TZ格式) 标准时间的方法 UNIX UTC GMT时间、本地时间互转...

    在PHP编程中经常会遇到各种不同格式的时间 比如: unix时间戳:1547740800 UTC时间:2019-1-18T00:00:00Z 标准时间:2019-1-18 00:00:00 以上这三个 ...

  8. Unix、UTC、GPS时间戳及转换

    UTC时间 UTC时间的英文全称:Universal Time Coordinated,中文名称:协调世界时.俗的理解为,这个时间是全世界通用的,即全世界都公用的一个时间.可以认为格林威治时间就是时间 ...

  9. UTC/GMT/CST几种常见的时间概述

    UTC  协调世界时,又称世界标准时间或世界协调时间,简称UTC,从英文"Coordinated Universal Time"/法文"Temps Universel C ...

最新文章

  1. surface pro 3 linux,新闻|在Surface Pro 3上运行Ubuntu – 虽不完美但很有戏
  2. laravel Transformers中修改data键
  3. Windows 10 中 Eclipse中无法添加Courier New字体的解决方法!
  4. 使用AOP动态调用WebService
  5. 案例篇-HBase 实战之 MOB 使用指南
  6. 【Oracle】数据库热备
  7. 【渝粤教育】电大中专市场营销管理 (2)_1作业 题库
  8. 转录组-差异基因火山图
  9. 【PAT_1054】The Dominant Color
  10. stm32—火焰传感器的初步使用
  11. RFQ 、IFB、RFP 、RFI的区别是什么
  12. 安全研究 # Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection
  13. 中北大学信息商务学院计算机系学生会名单,2017年中北大学信息商务学院新媒体中心部员竞选结果公示...
  14. Pytorch optimizer.step() 和loss.backward()和scheduler.step()的关系与区别
  15. c语言交通违章编程代码,C语言程序设计之交通处罚单管理系统报告(内含代码)...
  16. 如何在大型系统中提供拼音检索服务
  17. iphone引用自定义字体 html,在iphone中使用自定义字体
  18. 【转载】官方最完整版:张小龙微信公开课超时演讲,总结微信8年
  19. C++软件异常分析概述
  20. 隐藏账户的排除、D盾的使用

热门文章

  1. 计算机恢复工具有哪些,电脑数据恢复软件选哪个?这三款恢复工具不容错过
  2. 游戏机制对IT员工激励的影响
  3. Cris 的 Spark SQL 笔记
  4. 【JAVA】06 封装、继承、多态 总结(初级)
  5. 八款电脑自动校时工具推荐
  6. 量化择时策略入门与实操-笔记(同花顺金融量化实验室python实现)
  7. open-falcon学习总结
  8. rustdesk RustDesk 自建服务器,局域网可以连接服务器,外网就不可以了。 求高手指点迷津。
  9. struct ethtool_ops详解
  10. word中图片为嵌入式格式时显示不全_图片在word中显示不全怎么处理_word图片显示不全怎么办-win7之家...