API 演示
探索WorldTimeApp的API接口,了解如何在您的应用中集成时区数据
城市数据 API
获取所有城市
GET /api/cities获取城市详情
GET /api/cities/[id]按名称搜索城市
GET /api/cities/name/[name]响应示例
{
"id": "tokyo",
"city": "东京",
"cityEn": "Tokyo",
"country": "日本",
"countryEn": "Japan",
"flag": "🇯🇵",
"timezone": "Asia/Tokyo",
"utcOffset": "UTC+9",
"continent": "亚洲",
"continentEn": "Asia",
"latitude": 35.6762,
"longitude": 139.6503,
"population": 13960000,
"currency": "JPY",
"language": "Japanese"
}JavaScript 示例
// 获取城市数据
async function getCityTime(cityId) {
try {
const response = await fetch(`/api/cities/${cityId}`);
const city = await response.json();
// 获取当前时间
const now = new Date();
const formatter = new Intl.DateTimeFormat('en-US', {
timeZone: city.timezone,
hour12: false,
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
});
const time = formatter.format(now);
console.log(`${city.cityEn}: ${time}`);
return { city, time };
} catch (error) {
console.error('Error fetching city data:', error);
}
}
// 使用示例
getCityTime('tokyo');
getCityTime('new-york');
getCityTime('london');Python 示例
import requests
from datetime import datetime
import pytz
def get_city_time(city_id):
"""获取城市时间信息"""
try:
# 获取城市数据
response = requests.get(f'https://worldtimeapp.online/api/cities/{city_id}')
city = response.json()
# 获取时区信息
timezone = pytz.timezone(city['timezone'])
current_time = datetime.now(timezone)
print(f"{city['cityEn']}: {current_time.strftime('%H:%M:%S')}")
return {
'city': city,
'time': current_time.strftime('%H:%M:%S'),
'date': current_time.strftime('%Y-%m-%d')
}
except Exception as e:
print(f"Error: {e}")
return None
# 使用示例
get_city_time('tokyo')
get_city_time('new-york')
get_city_time('london')React 组件示例
import React, { useState, useEffect } from 'react';
function WorldClock({ cityId }) {
const [cityData, setCityData] = useState(null);
const [currentTime, setCurrentTime] = useState('');
useEffect(() => {
// 获取城市数据
fetch(`/api/cities/${cityId}`)
.then(response => response.json())
.then(data => setCityData(data))
.catch(error => console.error('Error:', error));
}, [cityId]);
useEffect(() => {
if (!cityData) return;
// 更新时间
const updateTime = () => {
const now = new Date();
const formatter = new Intl.DateTimeFormat('en-US', {
timeZone: cityData.timezone,
hour12: false,
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
});
setCurrentTime(formatter.format(now));
};
updateTime();
const interval = setInterval(updateTime, 1000);
return () => clearInterval(interval);
}, [cityData]);
if (!cityData) return <div>Loading...</div>;
return (
<div className="city-clock">
<h3>{cityData.cityEn}</h3>
<div className="time">{currentTime}</div>
<div className="timezone">{cityData.timezone}</div>
<div className="country">{cityData.countryEn}</div>
</div>
);
}
export default WorldClock;API 文档
基础 URL
https://worldtimeapp.online/api支持的格式
JSON
请求限制
每分钟最多60次请求
错误处理
API返回标准的HTTP状态码。404表示城市未找到,500表示服务器错误。