英语里面UTC是哪个时区?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了英语里面UTC是哪个时区?相关的知识,希望对你有一定的参考价值。
UTC指的是Coordinated Universal Time-世界协调时间(又称世界标准时间、世界统一时间),是经过平均太阳时 (以格林威治时间GMT为准)、地轴运动修正后的新时标以及以「秒」为单位 的国际原子时所综合精算而成的时间,计算过程相当严谨精密,因此若以「世界标准时间」的角度来说,UTC比GMT来得更加精准。 参考技术A 北京时间是属于东八时区的英文缩写 UTC+8北京时间是中国采用北京东八时区的区时作为标准时间。北京时间并不是北京(东经116.4°)地方的时间,而是东经120°地方的地方时间。因为北京处于国际时区划分中的东八区,同格林威治时间(世界时)整整相差8小时,(即北京时间=世界时+8小时)而中国东西相跨5个时区(即东五区、东六区、东七区、东八区、东九区5个时区)授时台必须建在中心地带,从而也就产生了长短波授。“北京时间”的发播不在北京,而在渭南蒲城北京时间不是“北京的时间”,而是东经120度的地方平太阳时,比北京的地方时早约14分半钟。 参考技术B 是零时区,也叫做中时区。零时区: 7.5°W~7.5°E 时区中心线 0° 。它只是一个时区,就像北京的东8区。在这个时区里面的,就是格林威治标准时间。比如北京是今天早上10点,那么那里就是上午2点。
中国东8区的时间总比泰国东7区的时间早1小时,而比日本东9区的时间晚1小时。因此,出国旅行的人,必须随时调整自己的手表,才能和当地时间相一致。凡向西走,每过一个时区,就要把表拨慢1小时;凡向东走,每过一个时区,就要把表拨快1小时。并且规定英国(格林尼治天文台旧址)为本初子午线,即零度经线,这条经线所在的时区叫做零时区。
希望我能帮助你解疑释惑。 参考技术C 北京时间是属于东八时区的英文缩写 UTC+8北京时间是中国采用北京东八时区的区时作为标准时间。北京时间并不是北京(东经116.4°)地方的时间,而是东经120°地方的地方时间。因为北京处于国际时区划分中的东八区,同格林威治时间(世界时)整整相差8小时,(即北京时间=世界时+8小时)而中国东西相跨5个时区(即东五区、东六区、东七区、东八区、东九区5个时区)授时台必须建在中心地带,从而也就产生了长短波授。“北京时间”的发播不在北京,而在渭南蒲城北京时间不是“北京的时间”,而是东经120度的地方平太阳时,比北京的地方时早约14分半钟。 参考技术D 北京时间是属于东八时区的英文缩写 UTC+8北京时间是中国采用北京东八时区的区时作为标准时间。北京时间并不是北京(东经116.4°)地方的时间,而是东经120°地方的地方时间。因为北京处于国际时区划分中的东八区,同格林威治时间(世界时)整整相差8小时,(即北京时间=世界时+8小时)而中国东西相跨5个时区(即东五区、东六区、东七区、东八区、东九区5个时区)授时台必须建在中心地带,从而也就产生了长短波授。“北京时间”的发播不在北京,而在渭南蒲城北京时间不是“北京的时间”,而是东经120度的地方平太阳时,比北京的地方时早约14分半钟。
时区转换从 UTC 到新时区
【中文标题】时区转换从 UTC 到新时区【英文标题】:Timezone Conversion From UTC to new time zone 【发布时间】:2016-10-10 19:25:55 【问题描述】:我在 python 中将 UTC 转换为新时区时遇到了很多麻烦。
数据原本是一个带进来的字符串,并成功转换为UTC,如下:
df['order delivery time'] = pd.to_datetime(df['order delivery time'])
接下来我尝试写一个这样的函数:
eastern = pytz.timezone('US/Eastern')
central = pytz.timezone('US/Central')
pacific = pytz.timezone('US/Pacific')
def change_tz(time, region):
if region == 'sf':
return time.astimezone(pytz.timezone(pacific))
elif region == 'chi':
return time.astimezone(pytz.timezone(central))
elif region == 'nyc':
return time.astimezone(pytz.timezone(eastern))
然后申请:
df['order delivery time ADJUSTED'] = df.apply(lambda row: change_tz(row['order delivery time'], row['region']), axis=1)
我收到此错误:
AttributeError: ("'US/Central' object has no attribute 'upper'", u'occurred at index 0')
我也试过这样的行:
if region == 'sf':
return datetime.fromtimestamp(time, tz='US/Pacific')
还有:
if region == 'sf':
return tz.fromutc(datetime.utcfromtimestamp(time).replace(tzinfo='US/Pacific'))
请帮我转换时区!谢谢!
【问题讨论】:
【参考方案1】:我过去曾成功使用 pytz 和 dateutil.parser:
import pytz
import dateutil.parser
date_needed = dateutil.parser.parse(request.POST.get("date_needed"))
item.date_needed = pytz.timezone("America/Phoenix").localize(date_needed, is_dst=None)
【讨论】:
【参考方案2】:AttributeError: ("'US/Central' 对象没有属性 'upper'", u'发生在索引 0')
central
已经是 pytz.timezone
对象。不要将它传递给pytz.timezone()
——直接使用它。
尚不清楚在您的情况下 time
变量是什么 (type(time)
)。
如果time
是一个代表 Unix 时间的浮点数,那么您可以使用以下方法在给定时区中获取对应的时区感知日期时间对象:
from datetime import datetime
dt = datetime.fromtimestamp(unix_time, central)
如果time
已经是一个timezone-aware 表示UTC 时间的日期时间对象,则将其转换为给定时区:
dt = dt_utc.astimezone(central)
您可以使用tz_convert()
方法转换pandas 对象以将tz-aware 数据转换为另一个时区:
ts_utc.tz_convert(central)
【讨论】:
以上是关于英语里面UTC是哪个时区?的主要内容,如果未能解决你的问题,请参考以下文章