Skip to Content
Menú
This question has been flagged
3 Respostes
26305 Vistes

Hi everyone,

I want to extract just the date from create_date field in the account.invoice model.

I tried t_date = datetime.datetime.strptime(record.create_date, '%Y-%m-%d') and bunch of other options but none worked. 
Kindly help, it's for Odoo online Saas version, in particular to the automated actions.

Avatar
Descartar
Best Answer

If above answer give you error "ValueError: unconverted data remains" or doesn't work

Try:

from dateutil import parser
datetime_obj = parser.parse('2018-02-06T13:12:18.1278015Z')

Hope it help.

Avatar
Descartar
Best Answer

Dear Shaheryar Rajper,

 Try this:

from datetime import date, datetime,

t_date= datetime.strptime(record.create_date, "%Y-%m-%d %H:%M:%S").date()


I hope I helped You...

Avatar
Descartar
Autor Best Answer

Hi Ayman,

I get this error "<class 'AttributeError'>: "module 'datetime' has no attribute 'strptime'" while evaluating"
then if I change it to t_date= datetime.datetime.strptime(record.create_date, "%Y-%m-%d %H:%M:%S").date() I get "Can't convert 'datetime.date' object to str implicitly" while evaluating
I am using Odoo Saas automated actions, date and datetime are available so I dont need to import


Edit:

The correct way of doing it is
t_date= datetime.datetime.strptime(record.create_date, "%Y-%m-%d %H:%M:%S").strftime('%Y-%m-%d')
hopefully it helps others as there is lack of Saas support

Avatar
Descartar

Make Print to ensure that is not null.

print " DDDDDDDDDD ", record.create_date

Autor

i cannot do a print so i added it to a raise Warning and it works :)

Autor

This is my code

t_date= datetime.datetime.strptime(record.create_date, "%Y-%m-%d %H:%M:%S").strftime('%Y-%m-%d')

if (t_date > record.date_invoice) :

raise Warning("Payment Date "+record.date_invoice+" cannot be before than the Donation Date"+" "+t_date)

Related Posts Respostes Vistes Activitat
2
de jul. 24
14163
0
de febr. 22
2528
1
de jul. 21
8363
0
d’abr. 20
4827
1
de maig 18
3145