Unix 时间戳转换工具

Unix 时间戳(Unix timestamp / POSIX time)是从格林威治时间 1970-01-01 00:00:00 UTC 起至现在的总秒数。它按 POSIX 标准计算,不包含闰秒,因此与“真实物理经过的秒数”会有微小差异。

当前 Unix 时间戳(秒)
1794254682
当前时间
2026-11-10 04:04:42

时间戳 → 普通时间

普通时间 → 时间戳

如何在不同编程语言中获取当前的 Unix 时间戳?

语言 / 环境代码
Javatime
JavaScriptMath.round(new Date().getTime()/1000)(getTime() 返回毫秒)
Microsoft .NET / C#epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000
MySQLSELECT unix_timestamp(now())
Perltime
PHPtime()
PostgreSQLSELECT extract(epoch FROM now())
Pythonimport time; time.time()
Ruby获取:Time.now 或 Time.new;显示:Time.now.to_i
Goimport "time"; int32(time.Now().Unix())
SQL ServerSELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())
Unix / Linuxdate +%s
VBScript / ASPDateDiff("s", "01/01/1970 00:00:00", Now())
其他(已装 Perl)perl -e "print time"

Unix 时间戳 → 普通时间(各语言实现)

语言 / 环境代码
Javanew java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(ts * 1000))
JavaScriptnew Date(ts * 1000).toLocaleString()
Linuxdate -d @ts
MySQLfrom_unixtime(ts)
Perlmy ($sec,$min,$hour,$day,$month,$year) = (localtime($ts))[0..6];
PHPdate('r', $ts)
PostgreSQLSELECT TIMESTAMP WITH TIME ZONE 'epoch' + ts * INTERVAL '1 second';
Pythonimport time; time.gmtime(ts)
RubyTime.at(ts)
SQL ServerDATEADD(s, ts, '1970-01-01 00:00:00')
VBScript / ASPDateAdd("s", ts, "01/01/1970 00:00:00")
其他(已装 Perl)perl -e "print scalar(localtime(ts))"

普通时间 → Unix 时间戳(各语言实现)

语言 / 环境代码
Javanew java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse("01/01/1970 01:00:00").getTime() / 1000
JavaScriptDate.UTC(year, month - 1, day, hour, minute, second) / 1000
MySQLSELECT unix_timestamp('YYYY-MM-DD HH:MM:SS')
Perluse Time::Local; timelocal($sec,$min,$hour,$day,$month,$year);
PHPmktime($hour, $minute, $second, $month, $day, $year)
PostgreSQLSELECT extract(epoch FROM date('YYYY-MM-DD HH:MM:SS'));
Pythonimport time; int(time.mktime(time.strptime('YYYY-MM-DD HH:MM:SS', '%Y-%m-%d %H:%M:%S')))
RubyTime.local(year, month, day, hour, minute, second).to_i
SQL ServerSELECT DATEDIFF(s, '1970-01-01 00:00:00', time)
Unix / Linuxdate +%s -d"YYYY-MM-DD HH:MM:SS"
VBScript / ASPDateDiff("s", "01/01/1970 00:00:00", time)