Home > Database > Mysql Tutorial > How can I find an exhaustive list of MySQL time zones?

How can I find an exhaustive list of MySQL time zones?

Patricia Arquette
Release: 2024-11-03 00:01:02
Original
830 people have browsed it

How can I find an exhaustive list of MySQL time zones?

Exhaustive List of MySQL Time Zones

Introduction

MySQL utilizes time zones to handle various date and time calculations, but it's not uncommon for users to encounter challenges in accessing a comprehensive list of MySQL time zones.

MySQL Time Zones Dependence on Host Operating System

The valid time_zone values in MySQL settings generally depend on the host operating system. However, locating an exhaustive list of supported time zones can be challenging.

Loading Time Zone Data into MySQL

By default, MySQL does not load time zone data unless manually loaded. To load it, execute the following command:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Copy after login

After loading the data, execute the following to view the time zone list:

USE mysql;
SELECT * FROM `time_zone_name`;
Copy after login

Unloading Time Zone Data

If desired, time zone data can be unloaded from MySQL by executing:

TRUNCATE `time_zone` ;
TRUNCATE `time_zone_leap_second` ;
TRUNCATE `time_zone_name` ;
TRUNCATE `time_zone_transition` ;
TRUNCATE `time_zone_transition_type` ;
Copy after login

Note on Dropping Tables

Never DROP these tables, as it can lead to severe issues.

Automatic Time Zone Updates

To ensure that time zones are updated regularly, you can enable root login without password prompting and set up a cron job to execute the following script once a day:

#!/bin/bash

if [ `find /usr/share/zoneinfo -mtime -1 | grep -v '\.tab' | wc -l` -gt 0 ]; then
    echo "Updating MySQL timezone info"
    mysql_tzinfo_to_sql /usr/share/zoneinfo 2>/dev/null | mysql -u root mysql
    echo "Done!\n"
fi
Copy after login

Configuring Time Zone for Calgary

To display time in Calgary local time, use the following time zone:

America/Edmonton
Copy after login

Example Query

The following query converts a timestamp to Calgary local time:

SELECT CONVERT_TZ('2023-03-08 15:00:00', 'GMT', 'America/Edmonton');
Copy after login

The above is the detailed content of How can I find an exhaustive list of MySQL time zones?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template