Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

How to store hour and minute correctly without having to store an additional timezone reference?

Subscribe

Get notified when there's activity on this post

This question has been flagged
timezonedatetimehoursminutes
2 Replies
4458 Views
Avatar
Tung Nguyen

I have a schedule model with start date, start hour and start minute, and I need to compute the start datetime from these above fields. Since Odoo server is force in UTC AFAIK, it's impossible for me to compute the datetime right without having a timezone reference. Is there any way to do that without storing timezone?

0
Avatar
Discard
Avatar
Savya Sachin
Best Answer

Hi,

Yes, it is not possible to accurately compute the start datetime from the start date, start hour, and start minute fields without storing a timezone reference.

As you mentioned, Odoo server is forced to use UTC, which means that any date or time values stored without a timezone will be assumed to be in UTC. This can lead to incorrect calculations when converting to or from local timezones.

You can make use of the pytz library in Python. This library provides a timezone database that can be used to localize a datetime object to a specific timezone.

Eg:

import pytz
from datetime import datetime, time

# assume start_hour and start_minute are integers representing the start time
start_hour = 10
start_minute = 30
# define a timezone, in this case assuming the user's local timezone
local_tz = pytz.timezone('Europe/London')

# create a time object from the hour and minute values
start_time = time(hour=start_hour, minute=start_minute)

# get the current date in the user's timezone
today = datetime.now(local_tz).date()

# combine the date and time to create a datetime object
start_datetime = local_tz.localize(datetime.combine(today, start_time))

# convert the datetime object to UTC for storage in the database
start_datetime_utc = start_datetime.astimezone(pytz.utc)


By using pytz to localize the datetime to a specific timezone, we can compute the correct UTC value without needing to store an additional timezone reference in the database.


Thanks


0
Avatar
Discard
Avatar
Cybrosys Techno Solutions Pvt.Ltd
Best Answer

Hello Tung Nguyen,

First you need to convert start hour and start minute into time format, for this you can use

start_time = time(hours, minutes)

Here, specify start hour in place of 'hours' and start minute in 'minutes'.

Second, you need to combine this start_time with your start date, for this you can refer this below code

start_datetime = datetime.combine(start_date, start_time)
your_datetime_field_name = start_datetime

This will compute the start datetime.

Hope this is helpful.

1
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
Take Users Timezone Solved
timezone datetime
Avatar
Avatar
Avatar
Avatar
3
Jul 25
5433
Time & Date Issue Solved
timezone datetime
Avatar
Avatar
Avatar
6
Sep 19
12676
How to add time difference on datetime object in Email Template ?
timezone datetime
Avatar
Avatar
Avatar
2
Mar 16
8784
How can I ignore timezone for a datetime field ?
timezone datetime
Avatar
0
Mar 15
9232
Datetime and Time Zones - OpenERP 7 Solved
timezone datetime
Avatar
Avatar
1
Jan 24
13501
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now