Как Python сделать переменную с данными за два года A go с сегодняшней даты - PullRequest
0 голосов
/ 18 марта 2020

Так что мне нужно сделать переменную в python, чтобы она отсылала сегодняшнюю дату на два года go. Мне нужно автоматизировать отчет в Salesforce с помощью Selenium, и мне нужно, чтобы форма, созданная методом send.keys () из переменной.

enter image description here Переменная, которую я имею для сегодняшняя дата:

from datetime import date
import time
today = date.today()
current_date = today.strftime("%m/%d/%Y")

Тем не менее, мне нужно, чтобы прошедшая дата была напечатана этим значением за два года go.

from datetime import date
import time
today = date.today()
past_date = today.strftime("%m/%d/%Y") - 2*(365)

Однако я получаю такой вывод:

>>> past_date = today.strftime("%m/%d/%Y") - 2*(365)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'str' and 'int'

Я предполагаю, что это имеет отношение к целочисленным операциям и строковым операциям, находящимся в одной переменной, что приводит к несоответствию строк. Кто-нибудь есть решение, чтобы помочь мне получить дату от двух лет go в динамике c способ?

Ответы [ 2 ]

1 голос
/ 18 марта 2020

Все это можно сделать с помощью стандартной библиотеки.

Чтобы конкретно устранить вашу ошибку, в этой строке вы превращаете дату в строку, а затем пытаетесь вычесть из нее числа.

past_date = today.strftime("%m/%d/%Y") - 2*(365)

Однако, чтобы решить вашу проблему, мы можем немного изменить код:

from datetime import date
today = date.today()
current_date = today.strftime("%m/%d/%Y")

try:
    past_date = today.replace(year=today.year-2) # the 2 on this line is how many years in the past you need.
except ValueError:
    past_date = today.replace(year=today.year-2, day=today.day-1)

print(past_date)

Пробное исключение - для решения проблем високосного года.

0 голосов
/ 18 марта 2020

Большое спасибо @ Ευάγγελος Γρηγορόπουλος. Мне удалось получить следующее, чтобы работать на основе его комментариев из Как вычесть день из даты?

Я смог использовать

from datetime import datetime, timedelta
past_date = datetime.today() - timedelta(days=730)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...