Я пытаюсь извлечь время публикации из Instagram, и объект datetime дает его в виде строки данных ISO 8601. Я хочу преобразовать это в удобочитаемую строку даты для моего местного часового пояса.
import datetime
import pytz
# Getting the current UTC time
dt_utcnow = datetime.datetime.now(tz=pytz.UTC)
print(dt_utcnow)
# Passing my ISO 8601 string to the 'fromisoformat' method
dt_utc = datetime.datetime.fromisoformat('2019-07-11T15:31:16.000')
print(dt_utc)
# Printing the current time in the NY timezone (which outputs correctly)
dt_ny_test = dt_utcnow.astimezone(pytz.timezone('America/New_York'))
print(dt_ny_test)
# When I try to print the time using the iso string, I get unexpected output
dt_ny = dt_utc.astimezone(pytz.timezone('America/New_York'))
print(dt_ny)
# These are my results
2019-07-11 16:14:30.489463+00:00
2019-07-11 15:31:16
2019-07-11 12:14:30.489463-04:00
2019-07-11 15:31:16-04:00
Process finished with exit code 0