通过API提取的时间向我显示了UTC时区,我无法将其转换为东部时区。这是我的代码。
def convert_since():
current_utc_time = packages_json['query']['since']
print(current_utc_time)
new_zone = current_utc_time.replace("T", " ").replace("Z", " ")
print(new_zone)
dt_est = new_zone.astimezone(pytz.timezone('US/Eastern'))
print(dt_est)
# return current_utc_time[:-1]
当前输出2019-10-18 14:30:00并且我期望东部时区有新的输出。
AttributeError:'str'对象没有属性'astimezone'
答案 0 :(得分:1)
您需要将current_utc_time = packages_json['query']['since']
转换为日期时间。根据该字符串的格式,您可以使用datetime.strptime
对其进行解析。您还需要使用.replace
将当前日期时间转换为utc:
from datetime import datetime
import pytz
current_utc_time = '2019-10-18T14:30:00Z' # packages_json['query']['since']
new_zone = current_utc_time.replace("T", " ").replace("Z", "")
print(new_zone)
dt_est = datetime.strptime(new_zone, '%Y-%m-%d %H:%M:%S').replace(tzinfo=pytz.utc).astimezone(pytz.timezone('US/Eastern'))
print(dt_est)
输出:
2019-10-18 14:30:00
2019-10-18 10:30:00-04:00
您也可以取出字符串.replace
,然后在strptime中将其添加为格式:
from datetime import datetime
import pytz
current_utc_time = '2019-10-18T14:30:00Z' # packages_json['query']['since']
print(current_utc_time)
dt_est = datetime.strptime(current_utc_time, '%Y-%m-%dT%H:%M:%SZ').replace(tzinfo=pytz.utc).astimezone(pytz.timezone('US/Eastern'))
print(dt_est)
答案 1 :(得分:0)
因此,变量$regex = [regex]',"[^"\r\n]*\r\n[^"]*",'
$callback = { param($m) $m.Value.Replace("`r`n", "") }
$newfilecontents = $regex.Replace($filecontents, $callback)
是一个字符串,并且您正在调用方法new_zone
,该方法要求.astimezone
为日期时间格式。
尝试:
new_zone