博客
关于我
时间:UTC时间、GMT时间、本地时间、Unix时间戳
阅读量:463 次
发布时间:2019-03-06

本文共 1100 字,大约阅读时间需要 3 分钟。

UTC时间与本地时间的转换及Unix时间戳的应用

在计算机领域,UTC(协调世界时)是全球通用的标准时间,常用于国际电报和通信系统。UTC与本地时区之间的关系是通过时区差来确定的。

UTC与本地时的关系

UTC与本地时间的关系可以通过时区差来表示。例如,东八区(如北京)时区差为+0800。根据公式:

UTC = 本地时间 - 时区差

因此,UTC = 本地时间(北京时间) - 0800。

Unix时间戳的计算

Unix时间戳是从1970年1月1日00:00:00起至现在所经过的秒数。这个时间点是计算机内部常用的时间标准。在不同的编程语言中获取当前时间戳的方式如下:

Java

System.currentTimeMillis() / 1000

JavaScript

Math.round(new Date().getTime() / 1000)

C#

(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000

MySQL

SELECT unix_timestamp(now())

Python

import timetime.time()

Unix/Linux

date +%s

时间戳与普通时间的转换

将Unix时间戳转换为普通日期时间的方法在不同编程语言中也有所不同:

Java

String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(Unix timestamp * 1000));

JavaScript

var commonTime = new Date(Date.UTC(year, month - 1, day, hour, minute, second));

C#

var date = new DateTime(1970,1,1).AddSeconds(Unix timestamp);

MySQL

SELECT from_unixtime(Unix timestamp)

Python

import timeint(time.mktime(time.strptime('YYYY-MM-DD HH:MM:SS', '%Y-%m-%d %H:%M:%S')))

SQL Server

SELECT DATEDIFF(s, '1970-01-01 00:00:00', time)

Unix/Linux

date -d "Jan 1, 1970 00:00:01"

转载地址:http://dkiyz.baihongyu.com/

你可能感兴趣的文章
Netpas:不一样的SD-WAN+ 保障网络通讯品质
查看>>
netsh advfirewall
查看>>
Netty WebSocket客户端
查看>>
Netty 异步任务调度与异步线程池
查看>>
Netty中集成Protobuf实现Java对象数据传递
查看>>
Netty工作笔记0006---NIO的Buffer说明
查看>>
Netty工作笔记0011---Channel应用案例2
查看>>
Netty工作笔记0013---Channel应用案例4Copy图片
查看>>
Netty工作笔记0014---Buffer类型化和只读
查看>>
Netty工作笔记0020---Selectionkey在NIO体系
查看>>
Vue踩坑笔记 - 关于vue静态资源引入的问题
查看>>
Netty工作笔记0025---SocketChannel API
查看>>
Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
查看>>
Netty工作笔记0050---Netty核心模块1
查看>>
Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
查看>>
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty常见组件二
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty核心模块组件
查看>>