Вызов datetime.now() в настоящее время возвращается в то же время, что и в первый раз, даже при вызове через несколько часов.python datetime.now() не возвращает обновленную временную метку из заголовка функции включенного файла
У меня есть следующий код. В first.py
#!/usr/bin/env python
import sys
import time
import datetime as dt
import fns_print as pr
import fns_time as tm
def main(argv):
pr.ts_print("STARTED")
# do a bunch of other stuff that takes 10+ seconds
pr.ts_print("Finished Download Pass")
if __name__ == "__main__":
main(sys.argv)
fns_print.py:
#!/usr/bin/env python
from __future__ import print_function
import fns_time as tme
def ts_print(string, **kwargs):
"""Print timestamped message to stdout and into log file"""
print("{}: {}".format(tme.strTimeSt(),string),**kwargs)
return True
fns_time.py
#!/usr/bin/env python
import time
from datetime import datetime, tzinfo, timedelta ## pip install datetime
from dateutil import tz
PST = tz.tzoffset("PST",-28800) # datetime.tzinfo.FixedOffset(-(8*60),"PST")
UTC = tz.tzutc() # UTC = tz.tzoffset("UTC",0)
def getCurTime(localTime = False):
"""get current time, by default in UTC. if localTime is True, it uses local system time"""
return datetime.now(tz=UTC) if not localTime else datetime.now(tz=tz.tzlocal())
def strTimeSt(t = datetime.now(tz=UTC), PSTConvert=False):
"""return a string representation of a datetime object. Uses UTC by default
Can also convert to PST with PSTConvert=True. Never converts to PDT."""
tf = t if not PSTConvert else t.astimezone(tz=PST)
return tf.strftime("%Y-%m-%d %H:%M:%S %Z (%z)")
выход двух вызовов (один пробега):
2016- 12-20 18:45:04 UTC (+0000): НАЧАЛО
2016-1 2-20 18:45:04 UTC (+0000): Закончено Скачать Pass
предыдущий прогон дал как раз 18:41:28