Как я могу преобразовать метки времени Unix в дату UTC в MySql? - PullRequest
4 голосов
/ 05 апреля 2011

У меня есть куча данных, хранящихся в базе данных mysql как куча временных меток в стиле Unix (в UTC).Ранее они были отформатированы через Perl gmtime().Кажется, что функция MySQL FROM_UNIXTIME() пытается быть полезной и корректирует переход на летнее время, но я действительно не хочу этого.результаты из системного часового пояса (GMT / BST) в UTC или поочередно определить, действовал ли DST в течение определенного времени?

1 Ответ

3 голосов
/ 05 апреля 2011

Вы пробовали:

mysql> SELECT NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2011-04-04 22:54:13 |
+---------------------+
1 row in set (0.00 sec)

mysql> set @var = unix_timestamp(NOW());
Query OK, 0 rows affected (0.00 sec)

mysql> SET time_zone='+00:00';
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2011-04-04 20:54:23 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT FROM_UNIXTIME(@var);
+---------------------+
| FROM_UNIXTIME(@var) |
+---------------------+
| 2011-04-04 20:54:17 |
+---------------------+
1 row in set (0.02 sec)

Если вы хотите использовать именованные часовые пояса, вы можете просмотреть эту страницу для получения дополнительной информации и того, как заполнять таблицы часовых поясов в вашей системе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...