/ / Як записати функцію для обчислення поточної дати як введення часу для сценарію python - python, date, cron

Як написати функцію для розрахунку поточної дати, як часу введення для python-скрипта - python, date, cron

Я намагаюся редагувати свій скрипт python, щоб він щодня витягував дані з бази даних. Наразі мій сценарій запитує вручну (необроблений) введення дати у форматі: РРР: ММ: DD: HH: MM: SS. Але те, що мені дійсно потрібно, - це час початку розрахунку, виходячи з поточної дати.

Ось як виглядає мій сценарій зараз:

from datetime import datetime, timedelta
from pandas import DataFrame
import pandas as pd
from io import StringIO

starttime_str = raw_input("enter time:")  # example 2016:10:18:00:00:00
arr = starttime_str.split(":")
starttime = datetime(int(arr[0]), int(arr[1]), int(arr[2]), int(arr[3]), int(arr[4]), int(arr[5]))

Але те, що мені насправді потрібно starttime_str бути датою комп'ютера. Тож, можливо, я повинен написати функцію, щоб знайти дату, а потім обчислити позначку часу? Я оновлю запис в cron, щоб сценарій працював щодня & автоматично. Я знаю, що я повинен використовувати щось подібне pd.tslib.Timestamp.now() але мені не потрібно цілий рядок.

Відповіді:

1 для відповіді № 1

Помилка, вказана в розділі коментарів, усувається за допомогою використання розділення () fuction у наступному коді

 from datetime import datetime, timedelta
from pandas import DataFrame
import pandas as pd
from io import StringIO

starttime_str = str(datetime.today()).replace("-", ":")
arr = starttime_str.split(":")
starttime = datetime(int(arr[0]), int(arr[1]), int(arr[2].split(" ")[0]), int(arr[2].split(" ")[1]), int(arr[3]), int(float(arr[4])))

1 для відповіді № 2

Я думаю, що це ти хочеш зробити:

from datetime import datetime, timedelta
from pandas import DataFrame
import pandas as pd
from io import StringIO

starttime_str = str(datetime.today()).replace("-", ":")
arr = starttime_str.split(":")
starttime = datetime(int(arr[0]), int(arr[1]), int(arr[2]), int(arr[3]), int(arr[4]), int(arr[5]))