Python дата вчерашнего дня

How to find the date n days ago in Python?

I would like to write a script where I give Python a number of days (let’s call it d ) and it gives me the date we were d days ago. I am struggling with the module datetime:

import datetime tod = datetime.datetime.now() d = timedelta(days = 50) a = tod - h Type Error : unsupported operand type for - : "datetime.timedelta" and "datetime.datetime" 

5 Answers 5

You have mixed something up with your variables, you can subtract timedelta d from datetime.datetime.now() with no issue:

import datetime tod = datetime.datetime.now() d = datetime.timedelta(days = 50) a = tod - d print(a) 2014-12-13 22:45:01.743172 

you can also format the date with the method strftime(), e.g. get it in local date format, get just date (without time), etc.etc. At print write print(strftime( %x)) for local vesrion of date. All the legal formats here: w3schools.com/python/python_datetime.asp

from datetime import datetime, timedelta N_DAYS_AGO = 5 today = datetime.now() n_days_ago = today - timedelta(days=N_DAYS_AGO) print today, n_days_ago 

If your arguments are something like, yesterday,2 days ago, 3 months ago, 2 years ago. The function below could be of help in getting the exact date for the arguments. You first need to import the following date utils

import datetime from dateutil.relativedelta import relativedelta 

Then implement the function below

def get_past_date(str_days_ago): TODAY = datetime.date.today() splitted = str_days_ago.split() if len(splitted) == 1 and splitted[0].lower() == 'today': return str(TODAY.isoformat()) elif len(splitted) == 1 and splitted[0].lower() == 'yesterday': date = TODAY - relativedelta(days=1) return str(date.isoformat()) elif splitted[1].lower() in ['hour', 'hours', 'hr', 'hrs', 'h']: date = datetime.datetime.now() - relativedelta(hours=int(splitted[0])) return str(date.date().isoformat()) elif splitted[1].lower() in ['day', 'days', 'd']: date = TODAY - relativedelta(days=int(splitted[0])) return str(date.isoformat()) elif splitted[1].lower() in ['wk', 'wks', 'week', 'weeks', 'w']: date = TODAY - relativedelta(weeks=int(splitted[0])) return str(date.isoformat()) elif splitted[1].lower() in ['mon', 'mons', 'month', 'months', 'm']: date = TODAY - relativedelta(months=int(splitted[0])) return str(date.isoformat()) elif splitted[1].lower() in ['yrs', 'yr', 'years', 'year', 'y']: date = TODAY - relativedelta(years=int(splitted[0])) return str(date.isoformat()) else: return "Wrong Argument format" 

You can then call the function like this:

print get_past_date('5 hours ago') print get_past_date('yesterday') print get_past_date('3 days ago') print get_past_date('4 months ago') print get_past_date('2 years ago') print get_past_date('today') 

Источник

Читайте также:  Java read serial port

Получить дату несколько дней или месяцев назад

Этот класс представляет собой заданный промежуток времени. И используется, в большинстве своем, для получения какой то прошедшей либо грядущей даты либо времени посредством вычитания или сложения двух дат. Например, если Вам нужно получить дату через час, дату вчерашнего дня, дату месяц назад и т.д.

datetime.timedelta( 
days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0 )

Все аргументы являются необязательными и по умолчанию равны 0. Аргументы могут быть целыми или дробными , а может быть положительными либо отрицательными .

Примеры использования

Получаем дату вчерашнего дня:

from datetime import date, timedelta 

print(date.today())
print(date.today() - timedelta(days=1))

2015-12-14
2015-12-13

Получаем дату месяц назад:

from datetime import date, timedelta 

print(date.today())
print(date.today() - timedelta(days=31))

2015-12-14
2015-11-13

Получаем время через 2 часа назад:

from datetime import timedelta, datetime

print(datetime.now())
print(datetime.now() + timedelta(hours=2))

2015-12-14 13:59:00.724516
2015-12-14 15:59:00.724611

Получаем дату без трех часов как неделю назад:

from datetime import timedelta, datetime

print(datetime.now())
print(datetime.now() - timedelta(days=7, hours=3))

2015-12-14 14:05:31.426143
2015-12-07 11:05:31.426229

Источник

Как можно вывести дату «вчерашнего дня»?

Написать код, по которому можно выполнять такие функции, как «Открыть файл», «Заменить» и т.д
Всем привет! помогите пожалуйста с решением этого задания. Очень срочное задание. Буду благодарна).

Ввести одну дату и вывести дату следующего дня
Ограничиться условными операторами. Не использовать библиотеки time, datetime етц

Как «сбилдить» чтобы работало и на 32. И можно ли все «ресурсы» сразу в exe запихнуть
Сбилдил одним файлом. Но ресурсы (спрайты, аудио) приходится докидывать отдельно. Не критично, но.

>>> import datetime >>> >>> date = datetime.datetime.today() >>> date datetime.datetime(2013, 10, 11, 22, 33, 49, 2979) >>> '<>'.format(date, date.day - 1) '2013.10.10' >>>

ЦитатаСообщение от Badger Посмотреть сообщение

>>> date = datetime.datetime.today() >>> newdate = date - datetime.timedelta(days=1) >>> date datetime.datetime(2013, 10, 12, 18, 56, 19, 612451) >>> newdate datetime.datetime(2013, 10, 11, 18, 56, 19, 612451) >>>
>>> import datetime >>> >>> date = datetime.datetime(2013, 1, 1, 18, 56, 19, 612451) >>> newdate = date - datetime.timedelta(days=1) >>> date datetime.datetime(2013, 1, 1, 18, 56, 19, 612451) >>> newdate datetime.datetime(2012, 12, 31, 18, 56, 19, 612451) >>>
>>> import datetime >>> >>> date = datetime.datetime(2013, 1, 1, 18, 56, 19, 612451) >>> newdate = date - datetime.timedelta(days=1) >>> print(' -> '.format(date, newdate)) 2013.01.01 -> 2012.12.31 >>>

Можно ли в библиотеке «matplotlib.pyplot» как нибудь создать обычный график x y, в виде «плюса»?
Если можно, то как?!

Как подтвердить выполнение команды subprocess.call([«net», «use», «M:», «/delete»]Как подтвердить выполнение команды subprocess.call(. При нажатии на кнопку выполняется функция.

Вычислять дату вчерашнего дня
Добрый день. Есть большой объем логов, которые пишутся с именами в формате 20130724.log Очень.

Разработать процедуру, определяющую дату вчерашнего дня
Разработать процедуру, определяющую дату вчерашнего дня.Чтобы при вводе получилось из 01 01 2000-31.

Пользователь вводит целое число — номер дня недели. Нужно вывести «Working day», если это рабочий день, «Saturday» — е
Пользователь вводит целое число — номер дня недели. Нужно вывести "Working day", если это рабочий.

Источник

Русские Блоги

Python получает дату вчера, позавчера, неделю назад или N дней назад

from datetime import datetime, date from datetime import timedelta def get_date(days=n): # Форматировать как год месяц день форма 2019-02-25 print((date.today() - timedelta(days=days)).strftime("%Y-%m-%d")) # Форматировать как год, месяц, день, час, минуту и ​​секунду в форме 2019-02-25 10: 56: 58.609985 print(datetime.now() - timedelta(days=days)) if __name__ == '__main__': get_date() 

Предполагая, что n = 7, чтобы получить дату неделю назад

2019-02-25 2019-02-25 10:56:58.609985 

Фокус:
1. Чтобы получить время N дней назад, нужно изменить только n
2. Вы можете изменить «% Y-% m-% d» на нужный формат времени, например «% Y.% m.% d» и т. д.

Интеллектуальная рекомендация

Java использует селен и браузер для управления автоматической операцией управления веб -страницей

Друзья позволяют помогать сделать бронирование для памятных монет, но количество памятных монет для назначений ограничено, и большую часть времени потрачено впустую, чтобы заполнить личную информацию .

Однопроизводительная линейная линейная конструкция линии линии

Однопроизводительная линейная линейная конструкция линии линии Беспроводной интеллектуальный коммутатор, сигнал управления передается через радиочастотный сигнал (чип). Умный коммутатор должен иметь в.

Вставка и удаление динамически связанного списка

В этой статье в основном рассказывается о коде вставки и удаления динамически связанного списка, а затем объясняется это непосредственно в коде ^ ^ Это не картинка, скажи снова j8 Код выше, как показа.

Основная концепция Введение анализа времени

Основная концепция анализа времени, которую мы хотим сегодня представитьasynchronous logicСущность Китайское имя асинхронная логика времени. Это самая основная концепция в дизайне цифровых схем. Харак.

Источник

Оцените статью