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表示服务器错误。