- première page
- Liste de blogs
- Article détaillé
GMT转PST时间戳转换与日落时间计算
数
数码游侠
Sunset
Time API
timestamp
2025-09-17

Articles récents
partager:
GMT转PST时间戳转换与日落时间计算
GMT转PST时间戳需要减去8小时。太平洋标准时间(PST)比格林尼治标准时间(GMT)晚8小时。在夏令时期间(PDT),只需减去7小时。
基本转换方法
手动计算GMT转PST时间戳的公式很简单:
- 标准时间:PST时间戳 = GMT时间戳 - 28800秒(8小时)
- 夏令时:PST时间戳 = GMT时间戳 - 25200秒(7小时)
判断是否处于夏令时的规则:
- 每年3月第二个周日凌晨2点开始
- 每年11月第一个周日凌晨2点结束
编程实现
Python示例代码:
from datetime import datetime
import pytz
def gmt_to_pst(timestamp):
gmt = pytz.timezone('GMT')
pst = pytz.timezone('America/Los_Angeles')
dt = datetime.fromtimestamp(timestamp, gmt)
return dt.astimezone(pst).timestamp()
JavaScript实现:
function gmtToPst(timestamp) {
const date = new Date(timestamp * 1000);
const options = { timeZone: 'America/Los_Angeles' };
return new Date(date.toLocaleString('en-US', options)).getTime() / 1000;
}
在线工具使用
推荐使用专业的在线时间戳转换工具,它们会自动处理夏令时转换。只需输入GMT时间戳,选择"America/Los_Angeles"时区,工具会显示正确的PST时间和对应时间戳。
常见问题
-
为什么我的转换结果差1小时? 可能是没有考虑夏令时规则,检查日期是否在3月-11月之间
-
历史日期转换不准确怎么办? 使用时区数据库而不是固定偏移量,因为时区规则会变化
-
如何批量转换大量时间戳? 使用支持API调用的专业工具或编写脚本处理
日落时间计算
计算特定地点的日落时间时,需要先获取UTC时间结果,再转换为PST。例如使用天文API获取数据后,应用相同的时区转换方法。
Python日落计算示例:
from astral import LocationInfo
from astral.sun import sun
city = LocationInfo("Los Angeles", "USA", "America/Los_Angeles", 34.05, -118.24)
s = sun(city.observer, date=datetime.date.today())
print(s["sunset"].timestamp()) # 返回PST时间戳
记住,精确的时间转换对全球协作系统至关重要。始终使用时区名称(如America/Los_Angeles)而非缩写(PST/PDT),以避免歧义。



