• Resolved escozul

    (@escozul)


    Hi. I face an issue where on my woocommerce site, each time I try to save an order, the order is saved with -3 hours at the order submitted time. So if you make 2 or three changes, the order seems to “go back in time” in 3 hours increments. My timezone is “Europe/Athens” which is 3 hours ahead of UTC.
    This issue seems to have first appeared in woocommerce version 6.9.1 (https://github.com/woocommerce/woocommerce/issues/34686) but it was since fixed. However, it seems that it has returned for my installation on version 9.7.0.

    My server has all timezones set properly. WordPress is also setup properly on my timezone and php uses the correct timezone.

    | => timedatectl
          Local time: Fri 2025-05-09 23:35:37 EEST
      Universal time: Fri 2025-05-09 20:35:37 UTC
            RTC time: Fri 2025-05-09 20:35:37
           Time zone: Europe/Athens (EEST, +0300)
         NTP enabled: yes
    NTP synchronized: yes
     RTC in local TZ: no
          DST active: yes
     Last DST change: DST began at
                      Sun 2025-03-30 02:59:59 EET
                      Sun 2025-03-30 04:00:00 EEST
     Next DST change: DST ends (the clock jumps one hour backwards) at
                      Sun 2025-10-26 03:59:59 EEST
                      Sun 2025-10-26 03:00:00 EET

    And the wordrpess report for timezone:

    Timezone    
    Athens
    Choose either a city in the same timezone as you or a UTC (Coordinated Universal Time) time offset.
    
    Universal time is 2025-05-09 20:36:37.
    Local time is 2025-05-09 23:36:37.
    
    This timezone is currently in daylight saving time.
    Standard time begins on: October 26, 2025 3:00 am.

    They all seem correct but I still get this really annoying behavior.
    Can you help me fix it?

Viewing 9 replies - 1 through 9 (of 9 total)
  • Hi @escozul,

    Thank you for bringing this to our attention. While this behavior is unusual, I understand how it can be confusing and frustrating. Rest assured, we’re here to help.

    I attempted to replicate the issue on my test site by switching to your time zone, creating a new order, saving it, navigating away, and returning to update it. However, the “date created” remained unchanged, which suggests the issue may be specific to your setup.

    To investigate further, please share your system status report by going to WooCommerce > Status > Get system report > Copy for support, and paste it using a service like Pastebin.

    I’ll review the details and assist you accordingly. Looking forward to your response.

    Thread Starter escozul

    (@escozul)

    Hello,

    Thank you for your help.

    Here is the pastebin: https://pastebin.com/JFVW9yfE

    Plugin Support LovingBro (woo-hc)

    (@lovingbro)

    Hi @escozul,

    Thanks for sharing your detailed system status report; it was very helpful. I understand how frustrating it can be to see order timestamps shift each time you update an order, especially with everything in your timezone configuration looking correct on the surface.

    From your report, I noticed a couple of key details that could be contributing to this issue:

    First, your WordPress version (6.7.2) and WooCommerce version (9.7.0) are slightly outdated. I recommend updating to WordPress 6.8.1 and WooCommerce 9.8.4, as those newer versions may have fixes related to timezone handling or datetime saving logic.

    More importantly, the default timezone of your server is set to Europe/Athens, not UTC, as indicated in your status report:

    Default Timezone is UTC: ❌ Default timezone is Europe/Athens – it should be UTC

    This is likely at the core of the issue. WooCommerce expects the server’s default timezone to be UTC and handles local timezone adjustments using WordPress settings. When the server timezone is already offset (like in your case), it can cause time-based data—like order creation timestamps—to behave incorrectly during save operations, often compounding the offset with each save.

    To fix this:

    • Keep your WordPress timezone set to Europe/Athens (as you already have).
    • Update your server’s default timezone back to UTC. Your hosting provider or sysadmin can help with this using PHP’s date_default_timezone_set() or by adjusting the server’s PHP or system-wide configuration (e.g. in php.ini or using timedatectl for Linux).

    Once the server’s timezone is set to UTC and WordPress continues handling localization as expected, the -3 hour offset issue should stop.

    Let me know once you’ve made those changes or if you’d like help confirming whether the server timezone has been successfully updated. Always happy to take another look!

    Thread Starter escozul

    (@escozul)

    Ok. In truth I had set the timedatectl to Europe/Athens as well as php.ini date.timezone = “Europe/Athens”

    I changed both of these to UTC.

    I still see on the report that the default timezone is NOT UTC.

    Right now the server and php report UTC times as current date and time.

    (I’m on a cpanel server)

    Zee

    (@doublezed2)

    Hello escozul,

    Thank you for your reply.

    Could you please let me know when this issue first started appearing?

    I kindly recommend updating them. Doing so can help improve performance, security, and resolve potential bugs.

    If updating your live site isn’t feasible at the moment, I suggest creating a staging site instead. This will allow us to safely test whether the issue is related to outdated files without affecting your live store.

    Looking forward to your response. 🙂

    Thread Starter escozul

    (@escozul)

    Hello,

    I’m not really sure when this issue first appeared. It seems that it appeared some time last week out of the blue. I am not sure if last week was when we noticed or it was actually when it appeared. I was planning to update and will probably do that tonight after our scheduled backup.

    However, I noticed something odd.

    As you can see, wordpress can tell the time quite well. It’s not confused. It knows that UTC is 20:26 and local time is 23:26. Woocommerce seems to think that the default timezone is NOT UTC but it is! Why is my woocommerce confused?

    Plugin Support LovingBro (woo-hc)

    (@lovingbro)

    Hi @escozul,

    Thank you for sharing the screenshot and the detailed update. It’s clear that your WordPress timezone settings are correctly configured, and I can see that WordPress itself is accurately displaying both UTC and local time.

    This behavior is definitely unusual. It could be caused by a plugin conflict with WooCommerce or possibly by outdated WooCommerce template files within your theme that are interfering with how timestamps are handled.

    Have you been able to update your WordPress core and WooCommerce plugin yet, as you mentioned planning to do after your scheduled backup? Those updates might include fixes that address this exact kind of behavior.

    If you’d prefer not to run those updates on your live site just yet, I recommend setting up a staging environment where you can safely update both WordPress and WooCommerce. From there, we can test if the timestamp issue persists after the update and dig deeper if needed.

    Let me know how it goes.

    Thread Starter escozul

    (@escozul)

    Hello,

    Updating Woocommerce fixed the issue and we are now ok on the eshop. It’s weird that a version that never reported such an issue, had it on my setup.

    Thank you for your help

    Also… something needs to be done about this bot protection on ww.wp.xz.cn. I happen to love pineapple on pizza… 😀

    Hi @escozul,

    Thanks for the update, I’m really glad the WooCommerce update resolved the issue!

    And yes, that new bot protection question on ww.wp.xz.cn definitely caught a few of us off guard 😄 Glad to hear you’re on the pro-pineapple side!

    If you found our support helpful, we’d really appreciate it if you could leave a quick review here:

    👉 https://ww.wp.xz.cn/support/plugin/woocommerce/reviews/

    Let us know if you need anything else!

Viewing 9 replies - 1 through 9 (of 9 total)

The topic ‘[Bug] Order timestamps decrease by -3 hours on each save (Europe/Athens timezone’ is closed to new replies.