在Python的日期时间中,有没有一种合适的方法可以轻松地将UTC现在的时间转换为GMT+7现在的时间?
我需要将此应用于我在Flask的数据库模型。
这是我的models.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
app = Flask(__name__)
db = SQLAlchemy(app)
class Item(db.Model):
itemID = db.Column(db.Integer, primary_key=True)
itemName = db.Column(db.String(64), index=True, unique=True)
itemPrice = db.Column(db.Integer, index=True)
itemTimestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
def __repr__(self):
return '<Item {}>'.format(self.itemName)
如有任何建议,我们将不胜感激。提前感谢。
最后,我可以通过在pytz
模块的帮助下创建一个名为gmt7now()
的新方法来解决这个问题,下面是代码:
import datetime, pytz
def gmt7now(dt_utc):
dt_utc = datetime.datetime.utcnow() # utcnow class method
dt_rep = dt_utc.replace(tzinfo=pytz.UTC) # replace method
dt_gmt7 = dt_rep.astimezone(pytz.timezone("Asia/Jakarta")) # astimezone method [gmt++7]
return dt_gmt7