Python datetime.today() Показывает разное время в разных программах python

У меня есть 2 разных файла python, views.py в django и test.py. Я использую test.py, чтобы написать определенную функцию и проверить, получаю ли я желаемый результат, и если да, я копирую этот код в views.py в моем проекте django. Сегодня я писал функцию для расчета временных интервалов в 15 минут и заполнения списка. Когда я пытался сделать print('Today: ',datetime.today()) в test.py, она выдавала правильный результат, а в views.py

- другой.

Вот вывод в обоих случаях

test.py: Today: 2022-01-13 20:28:45.613094

views.py: Today: 2022-01-13 14:58:25.850835

Примечание: В моем views.py есть и другие функции, использующие библиотеки datetime, но я уверен, что они не мешают друг другу

Вот код, который я использую для создания списка времени с интервалом в 15 минут:

def datetime_range(start, end, delta):
  current = start
  while current <= end:
    yield current
    current += delta

def create():
  print('Today: ',datetime.today())  #This is where the problem occurs!
  a=datetime.strftime(datetime.now(),'%I:%M')
  h=a[0:2]


  dts = [dt.strftime('%I:%M') for dt in 
     datetime_range(datetime(2022, 1, 1,int(h)), datetime(2022, 1, 1,9), 
     timedelta(minutes=15))]

 new=[]
 for d in dts:
    if datetime.strptime(d,'%I:%M') > datetime.strptime(a,'%I:%M'):
          new.append(d)


 return new

Ваше смещение в 5 с половиной часов между двумя результатами указывает на то, что вы, вероятно, находитесь в Индии, и вы обнаружили проблему с часовыми поясами. Попробуйте вместо этого использовать datetime.utcnow() и продолжить с этого места.

https://docs.python.org/3/library/datetime.html#datetime.datetime.utcnow

если вы хотите, вы можете посмотреть этот пост о часовом поясе в настройках

https://quick-adviser.com/how-do-i-change-timezone-in-django-unchained/

Вернуться на верх