Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
3 Replies
26104 Tampilan

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
Buang
Jawaban Terbai

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
Buang
Jawaban Terbai

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
Buang
Penulis Jawaban Terbai

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
Buang

Make Print to ensure that is not null.

print " DDDDDDDDDD ", record.create_date

Penulis

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

Penulis

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)

Post Terkait Replies Tampilan Aktivitas
2
Jul 24
13903
0
Feb 22
2419
1
Jul 21
8063
0
Apr 20
4648
1
Mei 18
2917