UTC时间、GMT时间、本地时间、Unix时间戳的具体使用

目录
  • 1.UTC时间 与 GMT时间
  • 2.UTC时间 与 本地时
  • 3.UTC 与 Unix时间戳

1.UTC时间 与 GMT时间

我们可以认为格林威治时间就是时间协调时间(GMT=UTC),格林威治时间和UTC时间均用秒数来计算的。

2.UTC时间 与 本地时

UTC + 时区差 = 本地时间
时区差东为正,西为负。在此,把东八区时区差记为 +0800,

UTC + (+0800) = 本地(北京)时间 (1)

那么,UTC = 本地时间(北京时间))- 0800 (2)

3.UTC 与 Unix时间戳

在计算机中看到的UTC时间都是从(1970年01月01日 0:00:00)开始计算秒数的。所看到的UTC时间那就是从1970年这个时间点起到具体时间共有多少秒。 这个秒数就是Unix时间戳。

如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)?

Java time
JavaScript Math.round(new Date().getTime()/1000)
getTime()返回数值的单位是毫秒
Microsoft .NET / C# epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000
MySQL SELECT unix_timestamp(now())
Perl time
PHP time()
PostgreSQL SELECT extract(epoch FROM now())
Python 先 import time 然后 time.time()
Ruby 获取Unix时间戳:Time.now 或 Time.new
显示Unix时间戳:Time.now.to_i
SQL Server SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())
Unix / Linux date +%s
VBScript / ASP DateDiff("s", "01/01/1970 00:00:00", Now())
其他操作系统
(如果Perl被安装在系统中)
命令行状态:perl -e "print time"

如何在不同编程语言中实现Unix时间戳(Unix timestamp) → 普通时间?

Java String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(Unix timestamp * 1000))
JavaScript 先 var unixTimestamp = new Date(Unix timestamp * 1000) 然后 commonTime = unixTimestamp.toLocaleString()
Linux date -d @Unix timestamp
MySQL from_unixtime(Unix timestamp)
Perl 先 my $time = Unix timestamp 然后 my ($sec, $min, $hour, $day, $month, $year) = (localtime($time))[0,1,2,3,4,5,6]
PHP date('r', Unix timestamp)
PostgreSQL SELECT TIMESTAMP WITH TIME ZONE 'epoch' + Unix timestamp) * INTERVAL '1 second';
Python 先 import time 然后 time.gmtime(Unix timestamp)
Ruby Time.at(Unix timestamp)
SQL Server DATEADD(s, Unix timestamp, '1970-01-01 00:00:00')
VBScript / ASP DateAdd("s", Unix timestamp, "01/01/1970 00:00:00")
其他操作系统
(如果Perl被安装在系统中)
命令行状态:perl -e "print scalar(localtime(Unix timestamp))"

到此这篇关于UTC时间、GMT时间、本地时间、Unix时间戳的具体使用的文章就介绍到这了,更多相关UTC时间、GMT时间、本地时间、Unix时间戳内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C++中获取UTC时间精确到微秒的实现代码

    在日常开发过程中经常会使用到时间类函数的统计,其中获取1970年至今的UTC时间是比较常使用的,但是在windows下没有直接能够精确到微妙级的函数可用.本文提供方法正好可以解决这类需求问题. 下面先给出C++实现代码: 复制代码 代码如下: #ifndef UTC_TIME_STAMP_H_#define UTC_TIME_STAMP_H_ #include <windows.h>#include <sys/timeb.h>#include <time.h> #if

  • PHP跨时区(UTC时间)应用解决方案

    1.将程序内部时区设置为UTC时间.(UTC 也可以叫 GMT) PHP设置: date_default_timezone_set("UTC"); Yii设置: config/main.php 中添加 :'timeZone'=>'UTC', 如此设置后,PHP生成的时间基本都是UTC时间了.例如: //输出当前UTC时间 date("Y-m-d H:i:s"); 2.数据库中存储UTC时间. 可以用PHP控制,也可以通过设置数据库时区来实现. 3.服务端发送到

  • Python Pandas 转换unix时间戳方式

    使用pandas自带的pd.to_datetime把 unix 时间戳转为时间时默认是转换为 GMT标准时间 北京时间比这个时间还要加 8个小时, 使用python 自带的 time.localtime  转换时 默认是会处理好时区的问题,可以直接转换为 北京时间的: pandas需要自己处理时区问题 如果是pandas的字段(df.TIME为格式如上的时间戳)可以使用下面的方式转换: 以上这篇Python Pandas 转换unix时间戳方式就是小编分享给大家的全部内容了,希望能给大家一个参考

  • C/C++标准库之转换UTC时间到local本地时间详解

    前言 UTC 时间DateTime.UtcNow 和 系统本地时间 DateTime.Now 相差8个时区 ,美国本地时间和北京时间相差15个时区: 美国,而一般使用UTC时间方便统一各地区时间差异. 场景 1.如果有面向全球用户的网站, 一般在存储时间数据时存储的是UTC格式的时间, 这样时间是统一的, 并可以根据当地时区来进行准确的转换. 2.存储本地时间的问题就在于如果换了时区, 那么显示的时间并不正确. 所以我们存储时间时最好还是存储UTC时间,便于正确的转换. 说明 1.C/C++标准

  • Java与Unix时间戳的相互转换详解

    Java将Unix时间戳转换成指定格式日期,供大家参考,具体内容如下 当从服务器获取数据的时候,有时候获取的数据中的时间在很多的情况下是时间戳类似于这样1473048265,当然,我们不可能将这些数据以时间戳的形式展示给用户,通常情况,是要对这个时间戳进行一系列的处理加工,使其变成我们想要并习惯浏览的那种格式,那么怎么处理这些时间戳格式的数据呢?每个语言和框架都有自己的方法和方式. 下面将以java的方法来实现,废话少说直接撸码-- 方法实现 /** * Java将Unix时间戳转换成指定格式日

  • php UNIX时间戳用法详解

    本文实例讲述了php UNIX时间戳用法.分享给大家供大家参考,具体如下: 时间戳是文件属性中的创建.修改.和访问时间.数字时间戳服务是Web网站安全服务项目之一,能提供电子文件的日期和时间信息的安全保护. 时间戳的优点是: 可用变化的加密数值,防止数值被窃取后非法重复利用,起到加密的作用.时间戳主要依赖于时间,在约定的一段时间内产生唯一的一个数值. UNIX时间戳 在UNIX系统中,日期与时间表示为自1970年1月1日零点起到当前时刻的秒数,这种时间被称为UNIX时间戳,以32位二进制数表示.

  • python 实现UTC时间加减的方法

    如下所示: #!/usr/bin/env python # -*- coding:utf-8 -*- import datetime time_delta = datetime.timedelta(hours=-2) time_now = datetime.datetime.utcnow() invalid_time = str(time_now + time_delta)[:19] print invalid_time 以上这篇python 实现UTC时间加减的方法就是小编分享给大家的全部内容

  • Laravel timestamps 设置为unix时间戳的方法

    Laravel 修改 timestamps 为 unix 时间戳 <?php namespace App; use Illuminate\Database\Eloquent\Model; /** * Class Test * @package App */ class Test extends Model { /** * @var string */ protected $table='test'; /** * @var array */ protected $fillable = [ 'nam

  • ubuntu系统下禁用utc时间的设置方法

    前言 大家在安装双系统以后,发现进入win7和ubuntu系统以后,显示的时间不一致,后来发现是两个系统对硬件时间的看法不一致 原因如下 1.Windows会认为BIOS时间就是你的本地时间 2.ubuntu默认时间是把BIOS时间当成GMT+0时间,也就是世界标准时,而我国在东八区(GMT+8),所以如果你的Ubuntu位置是中国的话你系统显示的时间就是BIOS时间+8小时.假如现在是早上8点,那么你Ubuntu会显示8点,这时BIOS中的时间是0点. 更正方法 将ubuntu对待bios时间

  • C语言如何实现Unix时间戳与本地时间转化

    前言 我们平常说时间都说的几点几分几秒,星期几,但是在计算机里面并不是直接使用我们所说的时间,而是使用Unix时间戳,这样不管是哪个平台,哪个系统,都可以根据自己对时间的定义进行转换,像Java,PHP等都提供了接口来进行转化,C库里面也有这样的函数,那具体是怎么实现的呢?要了解这个问题首先我们就必须要清楚什么是Unix时间戳,什么是我们平常使用的时间. 1. Unix时间戳 UNIX时间戳:Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix

  • JS操作时间 - UNIX时间戳的简单介绍(必看篇)

    准备知识 GMT(Greenwich Mean Time) - 格林尼治时间.UTC(Universal Time Code) - 国际协调时间.PST(Pacific Standard Time,太平洋标准时间). UTC出现的比GMT时间晚,可以认为UTC时间更加精确,不过它们之间只相差几秒钟. UTC开始时间为:1970-01-01T00:00:00.000Z(这种时间设置可以一直精确到毫秒,字母T和Z仅仅是一种格式) UNIX时间戳指的是从1970-01-01T00:00:00.000Z

随机推荐