Timezone mismatch on device despite Blueprint setting: use "Always Apply" mode and verify POSIX timezone string format
Android
Your device may display an incorrect timezone even though you've configured a timezone policy in your Blueprint. This typically happens when your Blueprint is set to Provision Only mode instead of Always Apply, or when you're using a POSIX timezone identifier with an inverted sign convention. This guide explains how to fix it.
Before you begin
Check your device's current timezone setting. You can do this by connecting via ADB:
adb shell getprop persist.sys.timezone Note the output—it will help you verify the fix worked.
Step 1: Navigate to your Blueprint
- In the Esper Console, go to Blueprints.
- Open the Blueprint assigned to your device or device group.
- Locate the Date & Time or Timezone setting.
Step 2: Change the apply mode to Always Apply
- Find the Apply Mode or Enforcement option for the timezone setting.
- Change it from Provision Only to Always Apply.
When set to Provision Only, Esper enforces the timezone only during initial device setup. Any manual changes or drift afterward won't be corrected. Always Apply ensures Esper re-enforces the timezone every time the Blueprint syncs.
Step 3: Verify your timezone identifier format
If you're using a POSIX timezone identifier (like Etc/GMT), be aware that these use inverted sign conventions:
-
Etc/GMT-3= UTC+3 (three hours ahead of UTC) -
Etc/GMT+3= UTC-3 (three hours behind UTC)
The sign is opposite to what you might expect. For example, if your device is in Jeddah, Saudi Arabia (UTC+3), you must enter Etc/GMT-3, not Etc/GMT+3.
Recommended: Use region-specific Olson identifiers instead, which are unambiguous and don't have sign inversion issues. For Jeddah, use Asia/Riyadh.
Step 4: Save and sync your Blueprint
- Save your Blueprint changes.
- Publish the updated Blueprint.
- Go to Devices & Groups → Your Group → Blueprint → Apply to sync the Blueprint to your devices.
Step 5: Verify the device displays the correct time
- Check the device clock to confirm it now shows the correct local time.
- Compare it against a reliable time source (for example, worldtimeserver.com or your region's official time service).
- Optionally, run the ADB command again to confirm the timezone string matches your expected value:
adb shell getprop persist.sys.timezone If the time is still incorrect
Try these troubleshooting steps:
- Clock synchronization issue: If the timezone string is correct but the displayed time is wrong, the problem may be with Network Time Protocol (NTP) sync. Check that your device has network connectivity and can reach NTP servers.
- Blueprint not syncing: If your Blueprint changes aren't reaching the device at all, verify the device is online in the Esper Console and has a stable connection.
- Automatic timezone mode: If your Blueprint was using Auto Device Timezone (network or location-based), this mode can produce incorrect results in areas where location services or carrier timezone signals are unreliable. Switch to a hardcoded timezone value instead.
Still need help?
If you've followed these steps and your device timezone is still incorrect, contact Esper Support. Be ready to provide:
- Your Blueprint name and timezone setting
- Your device serial number or device ID
- The timezone string you entered
- The output of
adb shell getprop persist.sys.timezone - The expected UTC offset for your device's location
Please sign in to leave a comment.
Comments
0 comments