Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
26317 Lượt xem

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.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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...

Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ

Make Print to ensure that is not null.

print " DDDDDDDDDD ", record.create_date

Tác giả

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

Tác giả

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)

Bài viết liên quan Trả lời Lượt xem Hoạt động
2
thg 7 24
14165
0
thg 2 22
2530
1
thg 7 21
8369
0
thg 4 20
4835
1
thg 5 18
3149