Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
4 Răspunsuri
23376 Vizualizări

I have datetime field called field1 there i am selecting date & time and i have another field called filed2 there it should display only fields1's time. How can we do this?

As of now i am displaying both date and time. Unable to display only time.


Code:

start_date: fields.datetime('Start Date')
start_time: fields.datetime()
start = datetime.strptime(start_date, "%d-%m-%Y %H:%M:%S") 
value['start_time'] = start.strftime("%d-%m-%Y %H:%M:%S")

This will give o/p in datetime format.I need only time.


Thanks

Imagine profil
Abandonează
Cel mai bun răspuns

Hello Supreeth,

You have to convert the datetime of string into datetime format and then convert it into string by extracting time only:

from datetime import datetime

start_dt = datetime.strptime(start_date, "%d-%m-%Y %H:%M:%S") # convert into datetime fromat
value['start_time'] = datetime.strftime(start_dt, "%H:%M:%S") # convert into string format and extract time only



Imagine profil
Abandonează
Cel mai bun răspuns

Hello Supreeth,

You can get time by:

        datetime.datetime.now().time()

 It will give you current time.

Thank You.

Imagine profil
Abandonează

Thanks Chandni. It's works for me.

Cel mai bun răspuns

i need to do this from odoo ui ? 

Imagine profil
Abandonează
Autor Cel mai bun răspuns

Thank you all,

Got Solution,

start = datetime.strptime(start_date, "%Y-%m-%d %H:%M:%S")
user = self.pool.get('res.users').browse(cr, uid, uid)
tz = pytz.timezone(user.tz) if user.tz else pytz.utc
ran = pytz.utc.localize(start).astimezone(tz)
value['start_time'] = ran.strftime("%I:%M")
Imagine profil
Abandonează