一般我用C写unix时间戳是这样子的

#include<stdio.h>
#include<time.h> void printfDateTimeStr(struct tm *stm){
char weekday[][]={"天","一","二","三","四","五","六"};
printf("timestr=%04d-%02d-%02d %02d:%02d:%02d 星期%s\n",stm->tm_year+,stm->tm_mon+,stm->tm_mday,stm->tm_hour,stm->tm_min,stm->tm_sec,weekday[stm->tm_wday]);
} int main(){ time_t unix_timestamp=;
unix_timestamp = time(NULL); struct tm *tmdate=localtime(&unix_timestamp);
printf("unix_timestamp 现在的时间戳是=%d\n", unix_timestamp);
printf("Local Time is :asctime=%s", asctime(tmdate));
printf("格林威治GMT Time is :gmtime=%s", asctime(gmtime(&unix_timestamp)));
printfDateTimeStr(tmdate); printf("========================================\n");
printf("input your unix_timestamp:");
scanf("%d",&unix_timestamp); struct tm *stm=localtime(&unix_timestamp);
printf("你的 unix_timestamp 时间戳是=%d\n",unix_timestamp);
printf("你的 Local Time is :asctime=%s",asctime(stm));
printf("你的 格林威治GMT Time is :gmtime=%s",asctime(gmtime(&unix_timestamp)));
printfDateTimeStr(stm); char c;
scanf("%c",&c);
return ;
}

运行结果:

unix_timestamp 现在的时间戳是=1429787951
Local Time is :asctime=Thu Apr 23 19:19:11 2015
格林威治GMT Time is :gmtime=Thu Apr 23 11:19:11 2015
timestr=2015-04-23 11:19:11 星期四 dst[0]
========================================
input your unix_timestamp:0
你的 unix_timestamp 时间戳是=0
你的 Local Time is :asctime=Thu Jan 01 08:00:00 1970
你的 格林威治GMT Time is :gmtime=Thu Jan 01 00:00:00 1970
timestr=1970-01-01 00:00:00 星期四 dst[0]

time_t =0 的时候 其实是 1970-01-01 00:00:00 到UTC 0时区的秒数,而不是 我们北京时间UTC+8;所以gmtime比localtime 小8小时。

在大多数的UNIX系统中UNIX时间戳存储为32位,这样会引发2038年问题或Y2038。

早晚替换为64位。

unix时间戳time_t与UTC时区的关系的更多相关文章

  1. oracle将unix 时间戳转换为date类型

    select to_date('19700101','yyyyMMdd')+numtodsinterval(8*3600,'second')+numtodsinterval(60,'second') ...

  2. C# Unix时间戳转换为时间

    在做一些接口的时候,比如返回数据中有一个时间的属性,它的值是使用Unix时间戳表示的,当我们处理它(保存到本地或者格式化前台展示)时需要转换成日期时间,在此就需要根据时间戳转换为日期时间 (注:Uni ...

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

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

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

    转自:http://www.cnblogs.com/frontendBY/p/5215785.html 1.UTC: Universal Time Coordinated 协调世界时,又称世界标准时间 ...

  5. 时区,GMT时间,UTC时间,UNIX时间戳

    秒 秒是一个时间基本单位.一天24小时,一小时60分,一分钟60秒,这来自于秒的定义--1秒的时间间隔为平均太阳日[1]的1⁄86400.到了20世纪中叶,人们发现地球自转的时间并不是恒定的,于是在1 ...

  6. GMT、UTC、UNIX时间戳、时区

    GMT.UTC.CTS: UTC时间:世界协调时间(UTC)是世界上不同国家用来调节时钟和时间的主要时间标准,也就是零时区的时间.UTC是以原子时秒长为基础,在时刻上尽量接近于GMT的一种时间计量系统 ...

  7. 坐上JDK8时间SDK的小船,带你遨游UNIX时间戳与时区的小太空~

    原文链接:坐上JDK8时间SDK的小船,带你遨游UNIX时间戳与时区的小太空- 一.背景: 最近有一个关于店铺数据实时分析的需求,需要实时统计店铺当天的数据:例如访客数,浏览量.商品排行榜等.由于店铺 ...

  8. 时间:UTC时间、GMT时间、本地时间、Unix时间戳

    转自:http://blog.csdn.net/u012102306/article/details/51538574 1.UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT ...

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

    UTC时间.GMT时间.本地时间.Unix时间戳 https://www.cnblogs.com/xwdreamer/p/8761825.html 引用: https://blog.csdn.net/ ...

随机推荐

  1. 007.MySQL-Keepalived搭配脚本01

    vim /etc/keepalived/check_MySQL.sh #!/bin/bash MYSQL=/usr/bin/mysql MYSQL_HOST=localhost MYSQL_USER= ...

  2. django模型查询操作

    一旦创建好了数据模型,Django就会自动为我们提供一个数据库抽象API,允许创建.检索.更新和删除对象操作 下面的示例都是通过下面参考模型来对模型字段进行操作说明: from django.db i ...

  3. maven deploy上传私服出错

    error 内容如下 Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:  deploy (default ...

  4. java微信公众号JSAPI支付以及所遇到的坑

    上周做了个支付宝微信扫码支付,今天总结一下.微信相比支付宝要麻烦许多 由于涉及到代理商,没办法,让我写个详细的申请流程,懵逼啊. 笔记地址 http://note.youdao.com/notesha ...

  5. 【Ray Tracing in One Weekend 超详解】 光线追踪1-1

    Preface 从这一篇起,我们开始学光线追踪这门牛逼的技术.读了几天,一个字:强! 这一篇我们主要讲述技术入门和一些简单的案例. 我们先学这本: Ready 这本书需要ppmview这个软件帮忙看效 ...

  6. Android-Selector不起作用

    Android-Selector不起作用 Overview 今天在做项目的时候,使用了一些 Selector 来给ImageView设置不同的Drawable,但是无论怎么设置ImageView的属性 ...

  7. poj 1511 优先队列优化dijkstra *

    题意:两遍最短路 链接:点我 注意结果用long long #include<cstdio> #include<iostream> #include<algorithm& ...

  8. Xtreme8.0 - Back to Square 1 数学

    Back to Square 1 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/back-to- ...

  9. WAP 2.0开发XHTML MP语法及常用功能

    XHTML Mobile Profile 的基本结构 <?xml version="1.0" encoding="utf-8"?> <!DOC ...

  10. How to tell if a file is an EXE or a DLL?

    How to tell if a file is an EXE or a DLL? void DumpFile(LPWSTR filename) { HANDLE hFile = CreateFile ...