Hello how do i find the sum of two dates in odoo?
Examples:
start_date= fields.Date(string="Start Date"),
end_date= fields.Date(string="End Date")
total_days=?
Please help i'm new to odoo
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
Hello how do i find the sum of two dates in odoo?
Examples:
start_date= fields.Date(string="Start Date"),
end_date= fields.Date(string="End Date")
total_days=?
Please help i'm new to odoo
Hi Daniel Abaka,
I think this will help you.
total_days= fields.Integer(compute="_compute_days", string='Days Count', copy=False, default=0, store=True)@api.multi @api.depends('end_date', 'start_date')
def _compute_days(self): for s in self: if s.end_date and s.start_date:
a = s.end_date - s.start_date s.total_days = a.days else: s.total_days = 0
regards,
Nikhilkrishnan
Thank you
Hi,
You can make the total days field as a compute field and compute it's values from the entered values.
Inside the compute function you can get the difference of days by subtracting the dates, see the sample.
If we have d1 as date1 and d2 as date2 , then difference = (d2-d1).days.
Also see this link: https://stackoverflow.com/questions/151199/how-to-calculate-number-of-days-between-two-given-dates
Thanks
Hi Nikhil krishnan,
Thanks for the support but i'm facing error on this line
s.total_days = a.days
error message there is no attribute for days
Actually i test it in my system and working fine, so can you please show the screen shot of the error. and the python code too.
put
print(a)
print(type(a))
before
s.total_days = a.days
show the result to us.
Here is my python code
depature_date = fields.Date(string="Depature Date From Work", required=True)
return_date = fields.Date(string="Return Date To Work", required=True)
total_number_of_days = fields.Integer(compute="_compute_days",string="Total Number Of Work Days", copy=False, default=0, store=True)
@api.multi
@api.depends('depature_date','return_date')
def _compute_days(self):
for s in self:
if s.depature_date and s.return_date:
a = s.depature_date + s.return_date
s.total_number_of_days = a.days
else:
s.total_number_of_days = 0
here is the error message
s.total_number_of_days = a.days
AttributeError: 'str' object has no attribute 'days'
a = s.depature_date + s.return_date
why you are adding?
what is your logic? can you explain what is your exact need?
I'm adding depature_date and return_date to get the total_number_of_days .
Hello NIKHIL KRISHNAN,
The logic is once depature_date and return_date is selected automatically the total_number_of_days should be counted as total days selected.
I'm this ways i want to add depature_date + return_date to get the total days.
ok fine,
You try with this code.
a = s.return_date - s.depature_date
s.total_number_of_days = a.days
if we add two dates, we can't get a total number of days, differece of dates means the number of days between the two dates. i think you got the idea.
upvotes are appreciated
NIKHIL KRISHNAN ,
I have try this code and get error
a = s.return_date - s.depature_date
s.total_number_of_days = a.days
Error Message
in _compute_days
a = s.depature_date - s.return_date
TypeError: unsupported operand type(s) for -: 'str' and 'str'
please convert them in to date formate.
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
1
May 20
|
5385 | ||
|
1
Jan 19
|
4805 | ||
|
3
Dec 18
|
7545 | ||
|
0
Nov 18
|
4711 | ||
|
0
May 22
|
2004 |
Playing with dates in python:
1- http://learnopenerp.blogspot.com/2018/02/python-timedelta.html
2- http://learnopenerp.blogspot.com/2018/01/python-date-manipulation.html