Convert Timestamp to Local Time in Different Time Zones

赛博浮世记

time unit
timestamp
time convert
2025-09-17
Convert Timestamp to Local Time in Different Time Zones

本地时间戳转换成各国时间

时间戳是计算机存储时间的数字格式,通常表示自1970年1月1日以来的秒数或毫秒数。将本地时间戳转换为不同国家时间需要理解时区转换的基本原理。

核心概念

时间戳本身没有时区信息,它是全球统一的。转换时需要两个关键参数:

  1. 原始时间戳的时区
  2. 目标时区

JavaScript实现

使用JavaScript转换时间戳到本地时间:

function convertTimestamp(timestamp, targetTimezone) {
  const date = new Date(timestamp);
  return date.toLocaleString('en-US', {timeZone: targetTimezone});
}

// 示例:北京时间转纽约时间
console.log(convertTimestamp(1672531200000, 'America/New_York'));

Python解决方案

Python中使用pytz库处理时区转换:

from datetime import datetime
import pytz

def convert_timestamp(timestamp, from_tz, to_tz):
    dt = datetime.fromtimestamp(timestamp, pytz.timezone(from_tz))
    return dt.astimezone(pytz.timezone(to_tz))

# 示例:UTC时间转东京时间
print(convert_timestamp(1672531200, 'UTC', 'Asia/Tokyo'))

数据库转换

在SQL中直接转换时间戳:

-- MySQL示例
SELECT CONVERT_TZ(
  FROM_UNIXTIME(1672531200), 
  'UTC', 
  'Europe/Paris'
) AS paris_time;

常用时区标识符

国家/地区时区标识符
中国Asia/Shanghai
美国纽约America/New_York
英国伦敦Europe/London
日本东京Asia/Tokyo

在线转换工具

推荐几个实用的在线时间戳转换工具:

注意事项

  1. 考虑夏令时影响
  2. 时间戳精度(秒/毫秒)要统一
  3. 使用IANA标准时区标识符
  4. 服务器时区设置会影响转换结果