This question has been flagged
5 Replies
118072 Views

Hello!!

Please, i am using a datetime field. And, i want to convert my datetime field to a date field.

here is what i have tried:

Python:

import time

import datetime

from datetime import datetime, date, time 

b = 2015-10-28 16:09:59

d = datetime.now().strftime('%Y-%m-%d')

print d

and i got an error which is :

b = 2015-10-28 16:22:31.515561

^

SyntaxError: invalid syntax

Is here any idea.

Regards

Avatar
Discard

Unrelevant to Odoo/OpenERP itself, use `.date()` as suggested by zbik.

Also use DEFAULT_SERVER_DATETIME_FORMAT . from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT

Best Answer

Hi,

Try like this:

import dateutil.parser
b = "2015-10-28 16:09:59"
d = dateutil.parser.parse(b).date()
print d

will give output as 2015-10-28

Avatar
Discard

Excellent Akhil, +1

Excellent

Best Answer

You probably need brackets:

b = '2015-10-28 16:09:59'

UPDATE, example:

>>> import datetime
>>> datetime.datetime.now().date()
datetime.date(2015, 10, 28)
>>> tmp = '2015-10-28 16:09:59'
>>> dt = datetime.datetime.strptime(tmp,'%Y-%m-%d %H:%M:%S')
>>> dt.date()
datetime.date(2015, 10, 28)
>>> dd = dt.date()
>>> print dd
2015-10-28






Avatar
Discard
Author

thanks a lot for your answer but what it doesnt work. can you help me know how to convert a datetime to date in python please

Author

hey @zbik would you please help me :/

Answer updated.

Excellent