什么是Unix时间戳?

Unix时间戳是从1970年1月1日00:00:00 UTC开始计算的秒数或毫秒数,广泛用于编程和系统中表示时间。

使用场景

  • 数据库存储时间数据
  • API接口时间参数传递
  • 系统日志记录
  • 缓存控制与版本管理

各语言获取当前时间戳

JavaScriptMath.floor(Date.now() / 1000)秒级时间戳
Pythonint(time.time())秒级时间戳
PHPtime()秒级时间戳
JavaSystem.currentTimeMillis() / 1000秒级时间戳
Gotime.Now().Unix()秒级时间戳
MySQLUNIX_TIMESTAMP()秒级时间戳
RubyTime.now.to_i秒级时间戳
C#DateTimeOffset.UtcNow.ToUnixTimeSeconds()秒级时间戳
Shelldate +%s秒级时间戳

各语言日期时间转时间戳

JavaScriptMath.floor(new Date('2024-01-01').getTime() / 1000)日期转时间戳
Pythonint(datetime(2024, 1, 1).timestamp())日期转时间戳
PHPstrtotime('2024-01-01')日期转时间戳
JavaLocalDate.of(2024, 1, 1).atStartOfDay(ZoneOffset.UTC).toEpochSecond()日期转时间戳
Gotime.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC).Unix()日期转时间戳
MySQLUNIX_TIMESTAMP('2024-01-01')日期转时间戳
RubyTime.new(2024, 1, 1).to_i日期转时间戳
C#new DateTime(2024, 1, 1).ToUniversalTime().Subtract(DateTime.UnixEpoch).TotalSeconds日期转时间戳
Shelldate -j -f "%Y-%m-%d" "2024-01-01" +%s日期转时间戳

各语言时间戳转日期时间

JavaScriptnew Date(1704067200 * 1000).toISOString()时间戳转日期
Pythondatetime.fromtimestamp(1704067200)时间戳转日期
PHPdate('Y-m-d H:i:s', 1704067200)时间戳转日期
JavaInstant.ofEpochSecond(1704067200).atZone(ZoneId.systemDefault())时间戳转日期
Gotime.Unix(1704067200, 0).Format("2006-01-02 15:04:05")时间戳转日期
MySQLFROM_UNIXTIME(1704067200)时间戳转日期
RubyTime.at(1704067200).strftime('%Y-%m-%d %H:%M:%S')时间戳转日期
C#DateTimeOffset.FromUnixTimeSeconds(1704067200).LocalDateTime时间戳转日期
Shelldate -r 1704067200 "+%Y-%m-%d %H:%M:%S"时间戳转日期