2016-02-24 2 views
1

Я новичок в python, но я когда-то прошел. Я играл с API datetime. У меня есть одно требование, и определенно помощь будет какой-то, но я не могу это выяснить. На самом деле я конвертирую время UTC в PST. Он отлично работает со мной.Как получить GMT и преобразовать его в PST в Python

tz = timezone("US/Pacific") 
utc_date_time = datetime.now(tz=pytz.utc) 
opr_date = utc_date_time.astimezone(tz) 
print(opr_date) 

Но я не могу получить время по Гринвичу и преобразовать его в PST. Здесь 2 вопроса

  1. Как я могу получить GMT время
  2. Как это будет конвертировать в PST

Я заранее благодарен.

+0

вы понимаете, что ваш код уже "получает GMT время и превращает его в PST" ? Кстати, вы можете [получить текущее время в заданном часовом поясе прямо) (http://stackoverflow.com/a/16660476/4279) (без явного преобразования из utc). – jfs

+0

Да, @ J.F.Sebastian, вы правы. Это было просто непонимание разного часового пояса. Спасибо за ваш комментарий. –

ответ

0

Попробуйте

Чтобы получить время в GMT

import os 
import time 
os.environ["TZ"]="GMT" 
print time.strftime("%T %Z", time.localtime(time.time())) 

Чтобы получить его в PST

from datetime import datetime 
from pytz import timezone 
import pytz 
date_format='%m/%d/%Y %H:%M:%S %Z' 
date = datetime.now(tz=pytz.utc) 
date = date.astimezone(timezone('US/Pacific')) 
print 'Local date & time is :', date.strftime(date_format) 

Local date & time is : 12/19/2017 01:09:08 PST 
Смежные вопросы