我想使用python设置一个固定的时间,与我的系统上本地看到的时间不同,这样当我使用datetime.date.today((时,我可以看到所需的日期
添加参数tz_offset。参见文档https://pypi.org/project/freezegun/
from freezegun import freeze_time
@freeze_time("2012-01-14 03:21:34", tz_offset=-4)
def test():
assert datetime.datetime.utcnow() == datetime.datetime(2012, 1, 14, 3, 21, 34)
您可以使用带有datetime的pytz包,现在指定日期时间。
from datetime import datetime
import pytz
# add wanted timezone instead of America/New_York
timeZone_AN = pytz.timezone('America/New_York')
dt_Ny = datetime.now(timeZone_AN)
print("Datetime: ", dt_Ny)
根据MrFuppes的评论进行了更新,因为pytz将被弃用,所以您可以使用zoneinfo。看起来它会比pytz更有用。
from zoneinfo import ZoneInfo
timeZone_AN=("America/New_York")
更新如果您想获得固定的日期时间,这将对您有所帮助。
# set your date as year, month, day
desiredTime_ymd = datetime.date(2020, 9,14)
#print to test
print(desiredTime_ymd)
#set sec, min, hour
desiredTime_smh=time(14, 42, 59)
#print to test
print(desiredTime_smh)
#set all at once
#datetime(year, month, day, hour, minute, second, microsecond)
desredTime_all = datetime(2020, 9,14, 14, 42, 59)
#print to test
print(desiredTime_all)