当前时间
显示各主要城市的当前时间
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