Ben eski bir soru bilin, ama benim sorunu çözmek için iyi bir tane bulmak için sorun vardı, bu yarattık: Kullanım artı (+) veya eksi (-) ile işlemek için:
import datetime # Don't forget to import it
def subadd_date(date,years):
''' Subtract or add Years to a specific date by pre add + or - '''
if isinstance(date,datetime.datetime) and isinstance(years,int):
day,month,year = date.day , date.month , date.year
#If you want to have HOUR, MINUTE, SECOND
#With TIME:
# day,month,year,hour,minute,second = date.day, date.month,date.year,date.hour,date.minute,date.second
py = year + years # The Past/Futur Year
new_date_str = "%s-%s-%s" % (day,month,py) # New Complete Date
# With TIME : new_date_str = "%s-%s-%s %s:%s:%s" % (month,day,py,hour,minute,second)
try:
new_date = datetime.datetime.strptime(new_date_str,"%d-%m-%Y")
except ValueError: # day is out of range for month (February 29th)
new_date_str = "%s-%s-%s" % (1,month+1,py) # New Complete Date : March 1st
new_date = datetime.datetime.strptime(new_date_str,"%d-%m-%Y")
return new_date
# With TIME : return datetime.datetime.strptime(new_date_str,"%d-%m-%Y %H:%M:%Y")
return None
Ne demek istiyorsun? Veritabanındaki tüm tarihleri 100 yıl boyunca değiştirmek ister misiniz? Tarihi + 100 yılı karşılaştıran bir sorgu yazmak ister misiniz? Sadece 100 yıllık tarihler eklemek ister misiniz? Ne? –
gibi bir şeyler yazın queryset.update (end_time = end_time + 1) – kelvinfix