Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-7928

MySQL time is not aware of timezone settings

Details

    Description

      MySQL is not timezone aware while calculating time.
      Link to a related MySQL bug http://bugs.mysql.com/bug.php?id=68832

      MariaDB [(none)]> select @@session.time_zone;
      | @@session.time_zone |
      | Europe/Oslo         |
      1 row in set (0.00 sec)
       
      MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00'));
      | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00')) |
      | 2015-03-29 03:00:00                                  |
      1 row in set (0.00 sec)
       
      MariaDB [(none)]> SELECT CAST('2015-03-29 02:00:00' as DATETIME);
      | CAST('2015-03-29 02:00:00' as DATETIME) |
      | 2015-03-29 02:00:00                     |
      1 row in set (0.00 sec)
      MariaDB [(none)]> SELECT CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR;
      | CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR |
      | 2015-03-29 02:00:01                                     |
      1 row in set (0.00 sec)
       
      MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600);
      | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600) |
      | 2015-03-29 03:00:01                                       |
      1 row in set (0.00 sec)

      Attachments

        Activity

          keravecv Vincent Kéravec created issue -
          keravecv Vincent Kéravec made changes -
          Field Original Value New Value
          Description MySQL is not timezone aware while calculating time.
          Link to a related MySQL bug http://bugs.mysql.com/bug.php?id=68832

          {{MariaDB [(none)]> select @@session.time_zone;
          +---------------------+
          | @@session.time_zone |
          +---------------------+
          | Europe/Oslo |
          +---------------------+
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00'));
          +------------------------------------------------------+
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00')) |
          +------------------------------------------------------+
          | 2015-03-29 03:00:00 |
          +------------------------------------------------------+
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT CAST('2015-03-29 02:00:00' as DATETIME);
          +-----------------------------------------+
          | CAST('2015-03-29 02:00:00' as DATETIME) |
          +-----------------------------------------+
          | 2015-03-29 02:00:00 |
          +-----------------------------------------+
          1 row in set (0.00 sec)
          MariaDB [(none)]> SELECT CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR;
          +---------------------------------------------------------+
          | CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR |
          +---------------------------------------------------------+
          | 2015-03-29 02:00:01 |
          +---------------------------------------------------------+
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600);
          +-----------------------------------------------------------+
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600) |
          +-----------------------------------------------------------+
          | 2015-03-29 03:00:01 |
          +-----------------------------------------------------------+
          1 row in set (0.00 sec)

          }}
          MySQL is not timezone aware while calculating time.
          Link to a related MySQL bug http://bugs.mysql.com/bug.php?id=68832

          {{
          MariaDB [(none)]> select @@session.time_zone;
          +---------------------+
          | @@session.time_zone |
          +---------------------+
          | Europe/Oslo |
          +---------------------+
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00'));
          +------------------------------------------------------+
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00')) |
          +------------------------------------------------------+
          | 2015-03-29 03:00:00 |
          +------------------------------------------------------+
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT CAST('2015-03-29 02:00:00' as DATETIME);
          +-----------------------------------------+
          | CAST('2015-03-29 02:00:00' as DATETIME) |
          +-----------------------------------------+
          | 2015-03-29 02:00:00 |
          +-----------------------------------------+
          1 row in set (0.00 sec)
          MariaDB [(none)]> SELECT CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR;
          +---------------------------------------------------------+
          | CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR |
          +---------------------------------------------------------+
          | 2015-03-29 02:00:01 |
          +---------------------------------------------------------+
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600);
          +-----------------------------------------------------------+
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600) |
          +-----------------------------------------------------------+
          | 2015-03-29 03:00:01 |
          +-----------------------------------------------------------+
          1 row in set (0.00 sec)

          }}
          keravecv Vincent Kéravec made changes -
          Description MySQL is not timezone aware while calculating time.
          Link to a related MySQL bug http://bugs.mysql.com/bug.php?id=68832

          {{
          MariaDB [(none)]> select @@session.time_zone;
          +---------------------+
          | @@session.time_zone |
          +---------------------+
          | Europe/Oslo |
          +---------------------+
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00'));
          +------------------------------------------------------+
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00')) |
          +------------------------------------------------------+
          | 2015-03-29 03:00:00 |
          +------------------------------------------------------+
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT CAST('2015-03-29 02:00:00' as DATETIME);
          +-----------------------------------------+
          | CAST('2015-03-29 02:00:00' as DATETIME) |
          +-----------------------------------------+
          | 2015-03-29 02:00:00 |
          +-----------------------------------------+
          1 row in set (0.00 sec)
          MariaDB [(none)]> SELECT CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR;
          +---------------------------------------------------------+
          | CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR |
          +---------------------------------------------------------+
          | 2015-03-29 02:00:01 |
          +---------------------------------------------------------+
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600);
          +-----------------------------------------------------------+
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600) |
          +-----------------------------------------------------------+
          | 2015-03-29 03:00:01 |
          +-----------------------------------------------------------+
          1 row in set (0.00 sec)

          }}
          MySQL is not timezone aware while calculating time.
          Link to a related MySQL bug http://bugs.mysql.com/bug.php?id=68832

          {{
          MariaDB [(none)]> select @@session.time_zone;
          +---------------------+
          | @@session.time_zone |
          +---------------------+
          | Europe/Oslo |
          +---------------------+
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00'));
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00')) |
          | 2015-03-29 03:00:00 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT CAST('2015-03-29 02:00:00' as DATETIME);
          | CAST('2015-03-29 02:00:00' as DATETIME) |
          | 2015-03-29 02:00:00 |
          1 row in set (0.00 sec)
          MariaDB [(none)]> SELECT CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR;
          | CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR |
          | 2015-03-29 02:00:01 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600);
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600) |
          | 2015-03-29 03:00:01 |
          1 row in set (0.00 sec)

          }}
          keravecv Vincent Kéravec made changes -
          Description MySQL is not timezone aware while calculating time.
          Link to a related MySQL bug http://bugs.mysql.com/bug.php?id=68832

          {{
          MariaDB [(none)]> select @@session.time_zone;
          +---------------------+
          | @@session.time_zone |
          +---------------------+
          | Europe/Oslo |
          +---------------------+
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00'));
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00')) |
          | 2015-03-29 03:00:00 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT CAST('2015-03-29 02:00:00' as DATETIME);
          | CAST('2015-03-29 02:00:00' as DATETIME) |
          | 2015-03-29 02:00:00 |
          1 row in set (0.00 sec)
          MariaDB [(none)]> SELECT CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR;
          | CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR |
          | 2015-03-29 02:00:01 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600);
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600) |
          | 2015-03-29 03:00:01 |
          1 row in set (0.00 sec)

          }}
          MySQL is not timezone aware while calculating time.
          Link to a related MySQL bug http://bugs.mysql.com/bug.php?id=68832

          {{
          MariaDB [(none)]> select @@session.time_zone;
          | @@session.time_zone |
          | Europe/Oslo |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00'));
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00')) |
          | 2015-03-29 03:00:00 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT CAST('2015-03-29 02:00:00' as DATETIME);
          | CAST('2015-03-29 02:00:00' as DATETIME) |
          | 2015-03-29 02:00:00 |
          1 row in set (0.00 sec)
          MariaDB [(none)]> SELECT CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR;
          | CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR |
          | 2015-03-29 02:00:01 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600);
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600) |
          | 2015-03-29 03:00:01 |
          1 row in set (0.00 sec)

          }}
          keravecv Vincent Kéravec made changes -
          Description MySQL is not timezone aware while calculating time.
          Link to a related MySQL bug http://bugs.mysql.com/bug.php?id=68832

          {{
          MariaDB [(none)]> select @@session.time_zone;
          | @@session.time_zone |
          | Europe/Oslo |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00'));
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00')) |
          | 2015-03-29 03:00:00 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT CAST('2015-03-29 02:00:00' as DATETIME);
          | CAST('2015-03-29 02:00:00' as DATETIME) |
          | 2015-03-29 02:00:00 |
          1 row in set (0.00 sec)
          MariaDB [(none)]> SELECT CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR;
          | CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR |
          | 2015-03-29 02:00:01 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600);
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600) |
          | 2015-03-29 03:00:01 |
          1 row in set (0.00 sec)

          }}
          MySQL is not timezone aware while calculating time.
          Link to a related MySQL bug http://bugs.mysql.com/bug.php?id=68832

          MariaDB [(none)]> select @@session.time_zone;
          | @@session.time_zone |
          | Europe/Oslo |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00'));
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00')) |
          | 2015-03-29 03:00:00 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT CAST('2015-03-29 02:00:00' as DATETIME);
          | CAST('2015-03-29 02:00:00' as DATETIME) |
          | 2015-03-29 02:00:00 |
          1 row in set (0.00 sec)
          MariaDB [(none)]> SELECT CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR;
          | CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR |
          | 2015-03-29 02:00:01 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600);
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600) |
          | 2015-03-29 03:00:01 |
          1 row in set (0.00 sec)

          serg Sergei Golubchik made changes -
          Description MySQL is not timezone aware while calculating time.
          Link to a related MySQL bug http://bugs.mysql.com/bug.php?id=68832

          MariaDB [(none)]> select @@session.time_zone;
          | @@session.time_zone |
          | Europe/Oslo |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00'));
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00')) |
          | 2015-03-29 03:00:00 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT CAST('2015-03-29 02:00:00' as DATETIME);
          | CAST('2015-03-29 02:00:00' as DATETIME) |
          | 2015-03-29 02:00:00 |
          1 row in set (0.00 sec)
          MariaDB [(none)]> SELECT CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR;
          | CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR |
          | 2015-03-29 02:00:01 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600);
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600) |
          | 2015-03-29 03:00:01 |
          1 row in set (0.00 sec)

          MySQL is not timezone aware while calculating time.
          Link to a related MySQL bug http://bugs.mysql.com/bug.php?id=68832
          {noformat}
          MariaDB [(none)]> select @@session.time_zone;
          | @@session.time_zone |
          | Europe/Oslo |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00'));
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 02:00:00')) |
          | 2015-03-29 03:00:00 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT CAST('2015-03-29 02:00:00' as DATETIME);
          | CAST('2015-03-29 02:00:00' as DATETIME) |
          | 2015-03-29 02:00:00 |
          1 row in set (0.00 sec)
          MariaDB [(none)]> SELECT CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR;
          | CAST('2015-03-29 01:00:01' as DATETIME)+INTERVAL 1 HOUR |
          | 2015-03-29 02:00:01 |
          1 row in set (0.00 sec)

          MariaDB [(none)]> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600);
          | FROM_UNIXTIME(UNIX_TIMESTAMP('2015-03-29 01:00:01')+3600) |
          | 2015-03-29 03:00:01 |
          1 row in set (0.00 sec)
          {noformat}
          serg Sergei Golubchik made changes -
          Labels upstream
          serg Sergei Golubchik made changes -
          serg Sergei Golubchik made changes -
          Fix Version/s 10.0 [ 16000 ]
          serg Sergei Golubchik made changes -
          Affects Version/s 10.0 [ 16000 ]
          Affects Version/s 5.5 [ 15800 ]
          Affects Version/s 10.0.17 [ 18300 ]
          ratzpo Rasmus Johansson (Inactive) made changes -
          Workflow MariaDB v2 [ 60382 ] MariaDB v3 [ 64962 ]
          bar Alexander Barkov made changes -
          bar Alexander Barkov made changes -
          Labels upstream datatype upstream
          bar Alexander Barkov made changes -
          Component/s Data types [ 13906 ]
          Component/s Temporal Types [ 11000 ]
          julien.fritsch Julien Fritsch made changes -
          Epic Link MDEV-21071 [ 80504 ]
          julien.fritsch Julien Fritsch made changes -
          serg Sergei Golubchik made changes -
          Workflow MariaDB v3 [ 64962 ] MariaDB v4 [ 139801 ]
          serg Sergei Golubchik made changes -
          Fix Version/s 10.0 [ 16000 ]

          People

            Unassigned Unassigned
            keravecv Vincent Kéravec
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.