LINUX.ORG.RU

Python - сравнение дат и времени


0

0

Подскажите, плз, кто сталкивался, как в Python сделать следующее

1)назначить переменной значение текущее время + Х часов ХХ минут
текущее время получаю: x=now()

2)сравнить текущее дату время с имеющимся значением
w=now() -сейчас
y=now() - 16 часов назад

Спасибо

anonymous

import time

# time.time() - Возвращает число с плавающей точкой, дальше см.доки
# на модуль time
x = time.time()
.....
y = time.time()

# возвращает time.localtime tuples
x_tuples=time.localtime(x) 
y_tuples=time.localtime(y)

x_year, x_mon, x_mday, x_hour, x_min,\
   x_sec, x_wday, x_yday, x_isdst = x_tuples

y_year, y_mon, y_mday, y_hour, y_min,\
   y_sec, y_wday, y_yday, y_isdst = x_tuples

kosmonavt
()
Ответ на: комментарий от anonymous

Python Library Reference 6.9.2 описывает timedelta,

Supported operations:

Operation Result
t1 = t2 + t3 Sum of t2 and t3. Afterwards t1-t2 == t3 and t1-t3 == t2 are true. (1)
t1 = t2 - t3 Difference of t2 and t3. Afterwards t1 == t2 - t3 and t2 == t1 + t3 are true. (1)



не совсем ясно, как его применять.
если кто знает, подскажите, плз

anonymous
()
Ответ на: комментарий от anonymous

есть библиотека для python'a, скачать на http://www.egenix.com/files/python/eGenix-mx-Extensions.html#mxDateTime
которая предоставляет объекты

DateTime(year,month,day),
DateTimeDelta(days, hours, min)
#---
from mx.DateTime import *

x=DateTime(year,month,day)
y=now()
f=x-y

#вместо f=x+y

f=x+DateTimeDelta(days, hours, min)

anonymous
()
Ответ на: комментарий от anonymous

# у класса timedelta такие есть поля 
# days - число дней между 2-мя datetime
# seconds - число секунд между 2-мя datetime
# microseconds - число микросекунд между 2-мя datetime

# можем использовать его в таких операциях:
from timedata import *

# Получаем 1-е время
d1=datetime.now()
......
# Получаем 2-е время
d2=datetime.now()

# Получаем разность между двумя
# значениями datetime (объект класса timedelta)
dt = d2-d1

# анализируем поля dt
...
###################################
# Получаем datetime с разницей в неделю
dw = d1 + timedelta(days=7)

# Получаем datetime с разницей в год
dw = d1 + timedelta(days=365)

kosmonavt
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.