UTC в mySQL

Rin

*
ISO 8601

Код:
/*
  Возвращает дату и время в UTC (ISO 8601)
  Например: 2010-02-08T15:41:07+03:00
*/

DELIMITER $$

DROP FUNCTION IF EXISTS UTC_DATETIME$$

CREATE FUNCTION UTC_DATETIME(dt datetime) RETURNS VARBINARY(255)
DETERMINISTIC
BEGIN
  -- получаем смещение от мирового времени в минутах
  DECLARE tz_minutes INT(11) DEFAULT TIMESTAMPDIFF(MINUTE, UTC_TIMESTAMP(), NOW());

  RETURN CONCAT(
    DATE_FORMAT(dt - INTERVAL tz_minutes MINUTE, '%Y-%m-%dT%H:%i:%s'),
    IF(tz_minutes >= 0, '+', '-'),
    DATE_FORMAT(DATE(NOW()) + INTERVAL ABS(tz_minutes) MINUTE, '%H:%i')
  );
END$$

DELIMITER ;

-- SELECT UTC_DATETIME(NOW()), NOW()
 

zerkms

TDD infected
Команда форума
Rin
это ты серьёзно счас? ты считаешь, что за 3.5 года они ещё не разобрались? :)))
 

Rin

*
Я просто кинул готовое решение на более-менее подходящую тему. "3.5 года" здесь не причём.
 
Сверху