Unix 时间戳转换工具
Unix 时间戳(Unix timestamp / POSIX time)是从格林威治时间 1970-01-01 00:00:00 UTC 起至现在的总秒数。它按 POSIX 标准计算,不包含闰秒,因此与“真实物理经过的秒数”会有微小差异。
当前 Unix 时间戳(秒)
1794254682
当前时间
2026-11-10 04:04:42
时间戳 → 普通时间
普通时间 → 时间戳
如何在不同编程语言中获取当前的 Unix 时间戳?
| 语言 / 环境 | 代码 |
|---|---|
| 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 | 获取:Time.now 或 Time.new;显示:Time.now.to_i |
| Go | import "time"; int32(time.Now().Unix()) |
| 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 时间戳 → 普通时间(各语言实现)
| 语言 / 环境 | 代码 |
|---|---|
| Java | new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(ts * 1000)) |
| JavaScript | new Date(ts * 1000).toLocaleString() |
| Linux | date -d @ts |
| MySQL | from_unixtime(ts) |
| Perl | my ($sec,$min,$hour,$day,$month,$year) = (localtime($ts))[0..6]; |
| PHP | date('r', $ts) |
| PostgreSQL | SELECT TIMESTAMP WITH TIME ZONE 'epoch' + ts * INTERVAL '1 second'; |
| Python | import time; time.gmtime(ts) |
| Ruby | Time.at(ts) |
| SQL Server | DATEADD(s, ts, '1970-01-01 00:00:00') |
| VBScript / ASP | DateAdd("s", ts, "01/01/1970 00:00:00") |
| 其他(已装 Perl) | perl -e "print scalar(localtime(ts))" |
普通时间 → Unix 时间戳(各语言实现)
| 语言 / 环境 | 代码 |
|---|---|
| Java | new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse("01/01/1970 01:00:00").getTime() / 1000 |
| JavaScript | Date.UTC(year, month - 1, day, hour, minute, second) / 1000 |
| MySQL | SELECT unix_timestamp('YYYY-MM-DD HH:MM:SS') |
| Perl | use Time::Local; timelocal($sec,$min,$hour,$day,$month,$year); |
| PHP | mktime($hour, $minute, $second, $month, $day, $year) |
| PostgreSQL | SELECT extract(epoch FROM date('YYYY-MM-DD HH:MM:SS')); |
| Python | import time; int(time.mktime(time.strptime('YYYY-MM-DD HH:MM:SS', '%Y-%m-%d %H:%M:%S'))) |
| Ruby | Time.local(year, month, day, hour, minute, second).to_i |
| SQL Server | SELECT DATEDIFF(s, '1970-01-01 00:00:00', time) |
| Unix / Linux | date +%s -d"YYYY-MM-DD HH:MM:SS" |
| VBScript / ASP | DateDiff("s", "01/01/1970 00:00:00", time) |