[ PROMPT_NODE_26230 ]
time
[ SKILL_DOCUMENTATION ]
# 时间处理 (astropy.time)
`astropy.time` 模块提供了用于操作时间和日期的稳健工具,支持多种时间尺度和格式。
## 创建时间对象
### 基本创建
python
from astropy.time import Time
import astropy.units as u
# ISO 格式 (自动检测)
t = Time('2023-01-15 12:30:45')
t = Time('2023-01-15T12:30:45')
# 显式指定格式
t = Time('2023-01-15 12:30:45', format='iso', scale='utc')
# 儒略日 (Julian Date)
t = Time(2460000.0, format='jd')
# 简化儒略日 (Modified Julian Date)
t = Time(59945.0, format='mjd')
# Unix 时间 (自 1970-01-01 以来的秒数)
t = Time(1673785845.0, format='unix')
### 时间数组
python
# 多个时间点
times = Time(['2023-01-01', '2023-06-01', '2023-12-31'])
# 从数组创建
import numpy as np
jd_array = np.linspace(2460000, 2460100, 100)
times = Time(jd_array, format='jd')
## 时间格式
### 支持的格式
python
# ISO 8601
t = Time('2023-01-15 12:30:45', format='iso')
t = Time('2023-01-15T12:30:45.123', format='isot')
# 儒略日
t = Time(2460000.0, format='jd') # 儒略日
t = Time(59945.0, format='mjd') # 简化儒略日
# 十进制年份
t = Time(2023.5, format='decimalyear')
t = Time(2023.5, format='jyear') # 儒略年
t = Time(2023.5, format='byear') # 贝塞尔年
# 年份和年内天数
t = Time('2023:046', format='yday') # 2023 年的第 46 天
# FITS 格式
t = Time('2023-01-15T12:30:45', format='fits')
# GPS 秒数
t = Time(1000000000.0, format='gps')
# Unix 时间
t = Time(1673785845.0, format='unix')
# Matplotlib 日期
t = Time(738521.0, format='plot_date')
# datetime 对象
from datetime import datetime
dt = datetime(2023, 1, 15, 12, 30, 45)
t = Time(dt)
## 时间尺度
### 可用的时间尺度
python
# UTC - 协调世界时 (默认)
t = Time('2023-01-15 12:00:00', scale='utc')
# TAI - 国际原子时
t = Time('2023-01-15 12:00:00', scale='tai')
# TT - 地球时
t = Time('2023-01-15 12:00:00', scale='tt')
# TDB - 质心动力时
t = Time('2023-01-15 12:00:00', scale='tdb')
# TCG - 地心坐标时
t = Time('2023-01-15 12:00:00', scale='tcg')
# TCB - 质心坐标时
t = Time('2023-01-15 12:00:00', scale='tcb')
# UT1 - 世界时
t = Time('2023-01-15 12:00:00', scale='ut1')
### 转换时间尺度
python
t = Time('2023-01-15 12:00:00', scale='utc')
# 转换为不同尺度
t_tai = t.tai
t_