时间戳转换

现在:1639842914 控制: 停止

北京时间 (夏令时)

北京时间

夏令时

1986年至1991年,中华人民共和国在全国范围实行了六年夏令时,每年从4月中旬的第一个星期日2时整(北京时间)到 9月中旬第一个星期日的凌晨2时整(北京夏令时)。除1986年因是实行夏令时的第一年,从5月4日开始到9月14日结束外,其它年份均按规定的时段施 行。夏令时实施期间,将时间向后调快一小时。1992年4月5日后不再实行。

JDK 不同版本的夏令时问题

夏令时的起止,是政令对日历描述的人为干预。每年均可能发生变化,JDK 如何感知这个规律并在系统上加以体现的?穷举所有变化,并配置在 JDK 中。详见:Timezone Data Versions in the JRE Software

不同版本下 Asia/Shanghai 时区夏令时起始时间不同,早期维护者认为中国标准时间的夏令时切换发生在0时,而后来又经证明发生在2时,新版本 JDK 及时修正了这个问题。

获取当前时间戳

语言 获取时间戳(Unix timestamp)的方法
Swift
NSDate().timeIntervalSince1970*1000//毫秒
Go
import (
      "time"
    )
    int32(time.Now().Unix())
Java
// 方法1
    (int) (System.currentTimeMillis() / 1000)
// 方法2
    (int) (DateTime.now().getMillis() / 1000)
// 方法3
    new Date().getTime()
                    
//方法4
    Calendar.getInstance().getTimeInMillis();
    				
JavaScript
var timestamp = Date.parse(new Date());
var timestamp = (new Date()).valueOf();
var timestamp = new Date().getTime();
var timestamp = Math.round(new Date() / 1000)
Objective-C
UInt64 recordTime = [[NSDate date] timeIntervalSince1970]*1000;//毫秒
MySQL
SELECT unix_timestamp(now())
SQLite
SELECT strftime('%s', 'now')
Erlang
calendar:datetime_to_gregorian_seconds(calendar:universal_time())-719528*24*3600.
PHP
// pure php
    time()
// Carbon\Carbon
    Carbon::now()->timestamp
Python
import time
    time.time()
Ruby
Time.now.to_i
Shell
date +%s
Groovy
(new Date().time / 1000).intValue()
Lua
os.time()
.NET/C#
(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000