UNIX时间戳转换器

当前毫秒

1697343646353
UTC: 15 Oct 2023 4:34:58 Local: UNIX: 1697346138715
Local timezone (UTC+7h):
链接到此时刻

毫秒转日期

日期转毫秒

/ /
: :

日期时间日历

供参考的epoch与标准规范。即时转换日期/时间格式。以毫秒及其他单位表示的时间戳。

Milliseconds since Epoch Julian Date HTTP format ISO 8601 GPS time

教程

时区、以毫秒表示的Unix时间戳及UTC。编程示例与详细说明。

System.currentTimeMillis() What is a Unix Timestamp What is UTC

标准规范

用于时间记录的软件工程标准。供第三方参考与合规的架构规范。

Client-Centric Time Persistence of Time Sync Service
参考资料

如何以毫秒获取当前时间

在各种编程语言中获取自UNIX epoch(1970年1月1日 00:00:00 UTC)起以毫秒表示的时间的方法。

ActionScript(new Date()).time
Bashdate +%s%N | cut -b1-13
C++std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count()
C#.NETDateTimeOffset.UtcNow.ToUnixTimeMilliseconds()
Clojure(System/currentTimeMillis)
DartDateTime.now().millisecondsSinceEpoch
Erlangerlang:system_time(millisecond)
Excel / Sheets*= (NOW() - OFFSET/24 - DATE(1970,1,1)) * 86400000
Go / Golangtime.Now().UnixMilli()
Hive*unix_timestamp() * 1000
Java / KotlinSystem.currentTimeMillis()
JavaScriptDate.now() // or: new Date().getTime()
MySQL*UNIX_TIMESTAMP() * 1000
Objective-C(long long)([[NSDate date] timeIntervalSince1970] * 1000.0)
OCaml(1000.0 *. Unix.gettimeofday ())
Oracle PL/SQL*SELECT (SYSDATE - TO_DATE('01-01-1970','DD-MM-YYYY')) * 86400000 FROM DUAL
Perluse Time::HiRes qw(gettimeofday); print gettimeofday;
PHPround(microtime(true) * 1000)
PostgreSQLextract(epoch FROM now()) * 1000
PowerShell[DateTimeOffset]::UtcNow.ToUnixTimeMilliseconds()
Pythonint(round(time.time() * 1000))
QtQDateTime::currentMSecsSinceEpoch()
R*as.numeric(Sys.time()) * 1000
Ruby(Time.now.to_f * 1000).floor
RustSystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_millis()
ScalaSystem.currentTimeMillis
SQL ServerSELECT DATEDIFF_BIG(MILLISECOND,'1970-01-01',SYSUTCDATETIME())
SQLite*STRFTIME('%s', 'now') * 1000
Swift*NSDate().timeIntervalSince1970 * 1000
VBScript / ASPDateDiff("s", "01/01/1970 00:00:00", Now()) * 1000
CockroachDBextract(epoch_nanoseconds from now()) / 1000000

* 带星号的示例可能无法达到毫秒精度,但其值已被乘以相应倍数以达到毫秒量级。

时间戳

常见Epoch与日期/时间格式

最常用的是UNIX epoch,但部分系统和服务使用不同的epoch。

Epoch
参考来源
UNIX Epoch
ms
since January 1, 1970
LDAP / NT epoch
ticks
since January 1, 1601
NTP epoch
ms
since January 1, 1900
.NET MinValue
ticks
since January 1, 0001
Mac OS X
ms
since January 1, 2001
ISO 8601 (UTC)

* 1 tick = 0.0001毫秒 = 100纳秒

知识库

时间与空间

围绕计时的科学事实与争议。

"毫秒(millis)" 是什么意思?

Millis是milliseconds(毫秒)的常用缩写,正式缩写为ms,另有millisecs一说,但极为罕见。

什么是闰秒?

闰秒是在UTC时间中添加的一秒调整量,用于使其与太阳时同步。闰秒往往会给软件带来麻烦。例如,2012年6月30日出现了23:59:60这一时刻。谷歌在其服务器上采用了一种称为闰秒平滑(leap smear)的技术:不是在最后添加一秒,而是将当天结束前的每一秒各延长几毫秒,使得这一天比普通天多出1000毫秒。

相对论如何影响时间?

GPS接收器(存在于飞机、汽车和手机中)以及地球轨道卫星在将时间同步至20至30纳秒的范围内时,均需考虑狭义相对论和广义相对论。这是因为卫星相对于地球在运动,地球上的观测者会感知到卫星上的时间流逝得更慢。

UTC和GMT有什么区别?

UTC代表协调世界时(Coordinated Universal Time),GMT代表格林尼治标准时间(Greenwich Mean Time)。UTC本身是一种全球时间标准。用UTC表示的时间,本质上是整个地球上的时间。用GMT表示的时间,则是格林尼治子午线时区的时间。在当代计算机科学中,UTC和GMT的绝对值完全相同,因此常被互换使用。

UTC与GMT:深入解析

UTC大约于1960年正式出现,在此之前GMT一直是主要标准。与基于太阳时的GMT不同,UTC将一秒定义为铯-133原子基态两个超精细能级之间跃迁所对应辐射的9,192,631,770个周期的持续时间。UTC的秒远比GMT的原始秒更为精确。

UT1是什么?它与UTC有何关系?

UT1是世界时最精确的形式,通过观测宇宙中的类星体以及地球与卫星之间的距离来计算。UTC只是尽力近似UT1:通过引入闰秒,使UTC与UT1的偏差保持在0.9秒以内。

为什么时区跨度是26小时而不是24小时?

时区最高可达UTC+14。UTC+14是圣诞岛(基里巴斯)全年使用的时区,也是萨摩亚的夏令时。因此,地球上两个本地时间之间的最大差值为26小时。

设计原则

显式持久化

无需认证等重型协议即可将软件用作服务。避免服务器端状态(会话)或客户端状态(Cookie),使我们得以将数据持久化在一种人机皆可无缝处理的载体中:URL。

务实的远大目标

针对多个功能同时持续进行开发与评估迭代,逐步筛除实验性尝试,直至留下真正有用的功能。这些步骤既雄心勃勃、富有创意,又不失脚踏实地。

一致性

将一致性理解为让用户记住的能力,是一种赋能。当你期望某个按钮在那里,它果然就在那里——这就是良好体验的通行证。当一系列服务拥有统一的外观和交互感受时,你会立刻认出它。

Current Millis 的故事

本网站提供自UNIX epoch(1970年1月1日)以来经过的毫秒数形式的当前时间,以及其他常见格式(包括本地时间与UTC的对比)。您还可以将毫秒转换为日期和时间,反之亦然。

Current Millis 的故事始于调试一个Android应用程序。在Android中,通过传入一个简单的数字来告知闹钟何时响起。这个数字必须涵盖自1970年1月1日午夜以来所经过的全部时间,但又要足够小,能够容纳于现有的数据结构中。

本网站的目标是让全球的程序员都知道:每当您想查看当前UTC时间或以毫秒表示的当前时间时,都可以在 currentmillis.org 上轻松完成。

支持本网站

如果您想提供支持,欢迎随时发送反馈。请通过以下方式联系我们 Noop Mail at [email protected]