UNIX时间戳 UTC GMT time localtime

格林威治标准时间(GMT)
地区:英国 皇家格林尼治天文台

时区:UTC/GMT 0 (零时区)

北京时差:现在格林威治时间比北京时间晚8小时

格林威治位于泰晤士河南岸,与北岸城镇通隧道和公路。1423年格洛斯特公爵亨天雷围建了格林尼治公园,在河畔山丘建了镃望塔,后又建造了格林威治皇家天文台。

协调世界时(UTC)
UTC协调世界时即格林威治平太阳时间,是指格林威治所在地的标准时间,也是表示地球自转速率的一种形式,UTC基于国际原子时间。
引用自 http://www.beijing-time.org/time15.asp

所以UTC和GMT是没有区别的,不过两个术语有一些惯用场景。UTC时间一般就指标准时间了,不会含时区概念,GMT一般就会用在时区的表述上,如北京时区是GMT+8
UNIX时间戳(time_t time(time_t*)返回的时间)使用的是UTC时间,是从1970-1-1 0:00:00到现在的秒数,所以如果简单的通过数学计算(不过不要重复造轮子,下面的localtime函数可以很好的换算给你,不过要注意一些细节),与北京时间(我们的当地时间)是差8小时的,北京时间计算时要+8, 也就是GMT+8。
顺便说一句,localtime可以从time_t获取到本地时间(已经帮我们加好了时区的差数),但是年份要+1970, 月数要+1, 因为时间是从1970年开始算的,月份呢,是从0开始计数的,1月对应0, 12月对应11。新手要特别注意。

end!

原文地址:https://www.cnblogs.com/d-dream/p/11293795.html

时间: 2024-10-28 20:11:01

UNIX时间戳 UTC GMT time localtime的相关文章

UTC时间、GMT时间、本地时间、Unix时间戳

引用: https://blog.csdn.net/u012102306/article/details/51538574 https://blog.csdn.net/foxir/article/details/43916601 GMT和UTC GMT,即格林尼治标准时间,也就是世界时.GMT的正午是指当太阳横穿格林尼治子午线(本初子午线)时的时间.但由于地球自转不均匀不规则,导致GMT不精确,现在已经不再作为世界标准时间使用. UTC,即协调世界时.UTC是以原子时秒长为基础,在时刻上尽量接近

[转帖]UTC时间、GMT时间、本地时间、Unix时间戳

https://www.cnblogs.com/xwdreamer/p/8761825.html 引用: https://blog.csdn.net/u012102306/article/details/51538574 https://blog.csdn.net/foxir/article/details/43916601 GMT和UTC GMT,即格林尼治标准时间,也就是世界时.GMT的正午是指当太阳横穿格林尼治子午线(本初子午线)时的时间.但由于地球自转不均匀不规则,导致GMT不精确,现在

CST,CET,UTC,GMT,DST,Unix时间戳几种常见时间概述与关系(转)

转自:http://www.cnblogs.com/frontendBY/p/5215785.html 1.UTC: Universal Time Coordinated 协调世界时,又称世界标准时间 多数的两地时间表都以GMT来表示,但也有些两地时间表上看不到GMT字样,出现的反而是UTC这3个英文字母,究竟何谓UTC?事实上,UTC指的是Coordinated Universal Time- 世界协调时间(又称世界标准时间.世界统一时间),是经过平均太阳时(以格林威治时间GMT为准).地轴运

几个时间:UTC、GMT、本地时间、Unix时间戳

UTC(Coordinated Universal Time)时间:协调世界时,即世界标准时间 GMT(Greenwich Mean Time):格林威治/格林尼治时间 GMT=UTC,均使用秒数来计算. UTC+时区差=本地时间. 时区差东为正,西为负. Unix时间戳:计算机中看到的UTC时间都是从(1980年01月01日 0:00:00)开始计算秒数,所看到的UTC时间就是从1970年零点到具体时间共有多少秒,这个秒数就是Unix时间戳. 原文地址:https://www.cnblogs.

unix时间戳time_t与UTC时区的关系

一般我用C写unix时间戳是这样子的 #include<stdio.h> #include<time.h> void printfDateTimeStr(struct tm *stm){ char weekday[][4]={"天","一","二","三","四","五","六"}; printf("timestr=%04d-%02d

简述unix时间戳

unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒. Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp) 是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒. UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z. 一个小时表示为UNIX时间戳格式为:3600秒:一天表示为UNIX时间戳为86400秒,闰秒不计算. 在大多数的

为什么要使用Unix时间戳

概念: UNIX时间戳:Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp) 是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒. UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z. 一个小时表示为UNIX时间戳格式为:3600秒:一天表示为UNIX时间戳为86400秒,闰秒不计算. 在大多数的UNIX系统中UNIX时间戳存储为32位,这样会引发2038年问题或

Java 获取 Unix时间戳

unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒. 在大多数的UNIX系统中UNIX时间戳存储为32位,这样会引发2038年问题. 但是,因为需求是需要int类型的UNIX时间戳. 开始的时候我是这样设计的. /** * 获取当前事件Unxi 时间戳 * @return */ public static int getUnixTimeStamp(){ long rest=System.currentTimeMillis()/1000L; return (i

取得一个日期的 Unix 时间戳 mktime()

mktime()函数 语法: int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") ]]]]]] ) 根据给出的参