Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
1620 Vistas

Hello

During checkout of a user I plan to use the local-time of the logged-in user for validation of a field. Now I have the problem, that I cannot get the local-time of the user. I only get the server-time in UTC. To display the users time I tried it like that in qweb-report:

<span t-esc="datetime.datetime.now().astimezone()"/>

Can someone help how to convert the time displayed to users local time or just convert it from UTC to CET?

Thanks

René

Avatar
Descartar
Mejor respuesta

We can determine user location in 2 ways.


1. user IP address to determine user timezone and other info using ipinfo.


$ curl https://ipinfo.io/27.116.51.143


{

"ip": "27.116.51.143",

"city": "Gandhinagar",

"region": "Gujarat",

"country": "IN",

"loc": "23.2167,72.6833",

"org": "AS45916 Gujarat Telelink Pvt Ltd",

"postal": "382042",

"timezone": "Asia/Kolkata",

"readme": "https://ipinfo.io/missingauth"

}


2. Find timezone using the GeoIP package. This package you can install on your server. If you want to know how to install you can refer https://kanakinfosystems.com/blog/how-to-show-geolocation-based-pricelist post.


Python:

print('GeoIP Info_____', request.session.get('geoip'))


Result:

{

'city': 'Gandhinagar',

'country_code': 'IN',

'country_name': 'India',

'region': 'GJ',

'time_zone': 'Asia/Kolkata'

}

For more information Contact us: -  https://kanakinfosystems.com/odoo-development-services

Avatar
Descartar