工具箱

时间戳转换工具

已使用人数:
0
17/60
登陆
|
注册
意见反馈
毫秒 (13位)
1781841295193
秒 (10位)
1781841295
北京时间
2026-06-19 11:54:55
时间戳 → 时区时间
毫秒 (13位)
转换结果
2026-06-19 11:54:54
Asia/Shanghai对应UTC: 2026-06-19 03:54:54 UTC
时区时间 → 时间戳
同时显示
转换结果
1781841294182毫秒
1781841294

时间戳转换工具 — 帮助与知识

📌 什么是时间戳?

时间戳(Timestamp),是指从1970年1月1日(UTC/GMT 午夜)开始所经过的秒数(不考虑闰秒), 它是一种数字表示方式,用于在计算机系统中精确记录一个时间点。由于纯数字格式对人类阅读并不友好,因此需要将其转换为可读的日期和时间字符串。 本工具支持 时间戳 ↔ 时区时间 的相互转换,并兼容毫秒与秒两种精度。

🕗 北京时间(Asia/Shanghai)

北京时间是中国采用的标准时间,对应时区 Asia/Shanghai,标准 UTC 偏移为 +8 小时。 北京时间并不是北京的地方时间,而是东经 120° 地方时间,覆盖中国大部分地区。

🌞 中国夏令时(1986 - 1991)

1986年至1991年,中华人民共和国在全国范围内实行了六年夏令时。每年从4月中旬的第一个星期日凌晨2时(北京时间)开始, 到9月中旬第一个星期日的凌晨2时(北京夏令时)结束。实施期间,时钟向后拨快一小时。 除1986年作为实行夏令时的第一年,从5月4日开始到9月14日结束外,其余年份均按上述规定时段执行。 1992年4月5日后,中国不再实行夏令时。
⚠️ 注意:夏令时的起止日期属于政府政令,每年可能调整。涉及历史时间转换时,请留意时区规则的变化。

☕ JDK 中的夏令时问题

夏令时的起止是政令对日历描述的人为干预,每年均可能发生变化。JDK 通过内置的 时区数据(Timezone Data,TZDB) 来感知这些规则并在系统上加以体现。 不同版本的 JDK 会携带不同版本的 TZDB 数据,因此对夏令时的处理可能不同。
例如,对于 Asia/Shanghai 时区,早期 JDK 版本认为中国标准时间的夏令时切换发生在0时, 而后来经官方证明实际切换时间发生在2时,新版本的 JDK 已及时修正了这一问题。 开发者若需要处理精确的历史时间,应当检查所在 JDK 的 TZDB 版本,必要时升级或手动更新。

💻 各语言获取当前时间戳示例

Swift
NSDate().timeIntervalSince1970
Go
import (
  "time"
)
int64(time.Now().Unix())
Java
// pure java
System.currentTimeMillis() / 1000

// joda-time
DateTime.now().getMillis() / 1000

// Java >= 8
Instant.now().getEpochSecond()
C
#include <sys/time.h>

struct timeval tv;
gettimeofday(&tv, NULL);
// 秒: tv.tv_sec
// 毫秒: tv.tv_sec * 1000LL + tv.tv_usec / 1000
JavaScript
Math.round(new Date() / 1000)
Objective-C
[[NSDate date] timeIntervalSince1970]
MySQL
SELECT unix_timestamp(now())
SQLite
SELECT strftime('%s', 'now')
Erlang
calendar:datetime_to_gregorian_seconds(calendar:universal_time())-719528*24*3600.
PHP
<?php
// pure PHP
time();

// Carbon
use Carbon\Carbon;
Carbon::now()->timestamp;
Python
import time
time.time()

# 使用 arrow
import arrow
arrow.utcnow().timestamp
Ruby
Time.now.to_i
Shell
date +%s
Groovy
(new Date().time / 1000).longValue()
Lua
os.time()
.NET / C#
DateTimeOffset.UtcNow.ToUnixTimeSeconds();
Dart
(new DateTime.now().millisecondsSinceEpoch / 1000).truncate()