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

开始使用

立即开始使用我们的API,为您的应用添加全球时区功能

查看实时演示