时间工具
Unix 时间戳转换
可以把 Unix 时间戳与普通时间来回转换,也能顺手查看不同编程语言里常用的时间戳写法,开发和调试时很省事。
使用说明
- 上方会实时显示当前时间戳,可直接点一下填入输入框。
- 支持秒级和毫秒级两种单位切换。
- 普通时间请按 `YYYY-MM-DD HH:mm:ss` 格式输入。
开始转换
时间戳与日期时间双向互转
适合接口调试、日志排查、数据库字段核对和跨语言开发时对照使用。
代码参考
常见语言里的时间戳写法
下面这些示例适合开发时快速查阅,不用临时去翻文档。
| 不同编程语言获取时间戳 | |
|---|---|
| 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;显示 Unix 时间戳:Time.now.to_i |
| 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()) |
| Unix 时间戳转普通时间 | |
|---|---|
| Java | new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(unixTimestamp * 1000)) |
| JavaScript | new Date(unixTimestamp * 1000).toLocaleString() |
| Linux | date -d @UnixTimestamp |
| MySQL | from_unixtime(unixTimestamp) |
| PHP | date('r', unixTimestamp) |
| Python | import time 后使用 time.gmtime(unixTimestamp) |
| Ruby | Time.at(unixTimestamp) |
| SQL Server | DATEADD(s, unixTimestamp, '1970-01-01 00:00:00') |
| 普通时间转 Unix 时间戳 | |
|---|---|
| JavaScript | new Date(Date.UTC(year, month - 1, day, hour, minute, second)) |
| MySQL | SELECT unix_timestamp(time) |
| PHP | mktime(hour, minute, second, day, month, year) |
| Python | 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) |
| SQL Server | SELECT DATEDIFF(s, '1970-01-01 00:00:00', time) |
| Unix / Linux | date +%s -d "Jan 1, 1970 00:00:01" |
| VBScript / ASP | DateDiff("s", "01/01/1970 00:00:00", time) |
补充说明
- 时间戳一般以 UTC 为基准,展示到本地时区时会看到具体偏移。
- 接口里如果数值特别长,通常是毫秒级时间戳。
- 日志排查时建议先确认时区,再进行时间比对。