时区转换工具

专业的在线时区转换工具,支持世界各时区查询和时间转换

当前时间

显示各主要城市的当前时间

UTC (世界标准时间) --:--:--
北京时间 (CST) --:--:--
纽约 (EST/EDT) --:--:--
伦敦 (GMT/BST) --:--:--
东京 (JST) --:--:--
悉尼 (AEST/AEDT) --:--:--
巴黎 (CET/CEST) --:--:--
洛杉矶 (PST/PDT) --:--:--

时区转换

将时间从一个时区转换到另一个时区

转换结果:

--

时区搜索

查询指定时区的信息

代码示例

以下是在不同编程语言中进行时区转换的代码示例:

JavaScript 时区转换

// 获取指定时区的当前时间
function getTimeInTimezone(timezone) {
    return new Date().toLocaleString('zh-CN', {
        timeZone: timezone,
        year: 'numeric',
        month: '2-digit',
        day: '2-digit',
        hour: '2-digit',
        minute: '2-digit',
                                second: '2-digit',
        hour12: false
    });
}

// 时区转换
function convertTimezone(sourceTime, sourceTimezone, targetTimezone) {
    // 创建Date对象
    const date = new Date(sourceTime);
    
    // 转换为目标时区的字符串
    const targetTimeString = date.toLocaleString('en-US', {
        timeZone: targetTimezone,
        year: 'numeric',
        month: '2-digit',
        day: '2-digit',
        hour: '2-digit',
        minute: '2-digit',
        second: '2-digit',
        hour12: false
    });
    
    return targetTimeString;
}

// 计算时差
function getTimeDifference(timezone1, timezone2) {
    const now = new Date();
    
    const time1 = new Date(now.toLocaleString('en-US', { timeZone: timezone1 }));
    const time2 = new Date(now.toLocaleString('en-US', { timeZone: timezone2 }));
    
    const diffMs = time1 - time2;
    const diffHours = diffMs / (1000 * 60 * 60);
    
    return diffHours;
}

// 使用示例
console.log(getTimeInTimezone('Asia/Shanghai'));
console.log(getTimeInTimezone('America/New_York'));
console.log(getTimeInTimezone('Europe/London'));

console.log('北京-纽约时差:', getTimeDifference('Asia/Shanghai', 'America/New_York'), '小时');

Python 时区转换

from datetime import datetime
import pytz

# 获取指定时区的当前时间
def get_time_in_timezone(timezone_name):
    timezone = pytz.timezone(timezone_name)
    return datetime.now(timezone)

# 时区转换
def convert_timezone(source_time, source_timezone, target_timezone):
    source_tz = pytz.timezone(source_timezone)
    target_tz = pytz.timezone(target_timezone)
    
    # 确保源时间有时区信息
    if source_time.tzinfo is None:
        source_time = source_tz.localize(source_time)
    
    # 转换时区
    return source_time.astimezone(target_tz)

# 计算时差
def get_time_difference(timezone1, timezone2):
    now = datetime.now(pytz.UTC)
    
    tz1 = pytz.timezone(timezone1)
    tz2 = pytz.timezone(timezone2)
    
    time1 = now.astimezone(tz1)
    time2 = now.astimezone(tz2)
    
    diff = time1 - time2
    return diff.total_seconds() / 3600

# 使用示例
if __name__ == '__main__':
    print("北京时间:", get_time_in_timezone('Asia/Shanghai'))
    print("纽约时间:", get_time_in_timezone('America/New_York'))
    print("伦敦时间:", get_time_in_timezone('Europe/London'))
    
    print("\n北京-纽约时差:", get_time_difference('Asia/Shanghai', 'America/New_York'), '小时')
    
    # 时区转换示例
    source_time = datetime(2024, 1, 1, 12, 0, 0)
    target_time = convert_timezone(source_time, 'Asia/Shanghai', 'America/New_York')
    print(f"\n北京时间 {source_time} 转换为纽约时间: {target_time}")

关于时区

什么是时区?

时区(Time Zone)是指地球上使用相同标准时间的区域。地球分为24个时区,每个时区跨越经度约15度。以本初子午线(0度经线,经过英国格林威治)为基准,向东为东时区,向西为西时区。

常见时区

  • UTC (世界标准时间):UTC+0,以格林威治为基准
  • CST (中国标准时间):UTC+8,北京时间
  • EST/EDT (美国东部时间):UTC-5/-4,纽约、华盛顿
  • PST/PDT (美国太平洋时间):UTC-8/-7,洛杉矶、旧金山
  • GMT/BST (格林威治时间):UTC+0/+1,伦敦
  • CET/CEST (中欧时间):UTC+1/+2,巴黎、柏林
  • JST (日本标准时间):UTC+9,东京
  • AEST/AEDT (澳大利亚东部时间):UTC+10/+11,悉尼

夏令时

夏令时(Daylight Saving Time, DST)是一种在夏季将时间调快一小时的制度,旨在更好地利用日光。大多数北半球国家和地区在3月到11月实行夏令时,南半球则相反。中国不实行夏令时制度。

时区表示法

  • UTC偏移量:UTC+8、UTC-5
  • IANA时区数据库:Asia/Shanghai、America/New_York
  • 时区缩写:CST、EST、JST