хотите добавить поле к отметке времени с помощью DATE_ADD - PullRequest
0 голосов
/ 19 апреля 2011

Я хочу добавить столбец с именем column_ourcountry_time, который будет показывать метку времени создания каждой строки. DATE_ADD INTERVAL 10 HOUR к текущему времени сервера в каждой строке.

, когда я использую TIMESTAMP, он сохраняеттекущее время сервера, все хорошо, но я хочу сохранить временную метку нашей страны, то есть +10 часов к времени сервера. Кто-нибудь поможет мне пройти через это.
заранее спасибо
с уважением
Айман

Ответы [ 3 ]

0 голосов
/ 19 апреля 2011

Попробуйте

SELECT NOW() + INTERVAL 10 HOUR
0 голосов
/ 19 апреля 2011

вы можете использовать

SET  time_zone = '+10:00'

читайте здесь http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html

0 голосов
/ 19 апреля 2011

Вы имеете в виду что-то вроде

select addtime(now(), '10:00:00');

, потому что это добавляет время и сохраняет дни такими, какие они есть (24 часа) и т. Д.

Если часть '10: 00: 00 'переменная '10' в другом столбце timezone_offset, я думаю, вы можете использовать это:

select addtime(now(), concat(timezone_offset, ':00:00')) from table;

- изменить 1

В зависимости от timezone_offset и часового пояса вашего сервера MySQL, выможет потребоваться изменить timezone_offset перед использованием addtime:

Если MySQL запускает UTC +1 и вы сохраняете timezone_offset compared to UTC, вам придется изменить все timezone_offset -1, поскольку now() не является часовым поясом UTC.

- edit 2

Я считаю, что лучше хранить ВСЕ время в UTC, потому что это проще всего вычислять с и по.Если вы делаете что-то с часовыми поясами и смещениями: делайте все по UTC.(Убедитесь, что ваш сервер MySQL имеет часовой пояс UTC.)

...