У меня есть тысячи фотографий, которые были сделаны в Танзании, и я хочу сохранить дату и время, когда каждая фотография была сделана в базе данных MySQL. Однако сервер находится в США, и я сталкиваюсь с проблемами, когда пытаюсь сохранить танзанийскую дату-время, которая попадает в "недействительный" час во время spring летнего времени (в США). Танзания не делает DST, поэтому время - действительно действительное время.
Дополнительные осложнения заключаются в том, что есть соавторы из многих разных часовых поясов, которым потребуется доступ к значениям даты и времени, хранящимся в базе данных. Я хочу, чтобы они всегда выходили как танзанийское время, а не в местное время, в котором участвует другой соавтор.
Я не хочу устанавливать время сеанса, потому что я знаю, что будут проблемы, когда кто-то когда-нибудь забудет установить время сеанса и получает время от ошибок. И у меня нет полномочий изменять что-либо о сервере.
Я читал: Лучшее использование летнего времени и часовых поясов и MySQL datetime fields и летнее время - как я могу ссылаться на" extra " час? и Хранение datetime как UTC в PHP/MySQL
Но ни одна из них, похоже, не касается моей конкретной проблемы. Я не эксперт по SQL; есть ли способ указать часовой пояс при настройке DATETIME? Я его не видел. В противном случае, любые предложения о том, как подойти к этой проблеме, очень ценятся.
Изменить: Вот пример проблемы, с которой я сталкиваюсь. Я посылаю команду:
INSERT INTO Images (CaptureEvent, SequenceNum, PathFilename, TimestampJPG)
VALUES (122,1,"S2/B04/B04_R1/IMAG0148.JPG","2011-03-13 02:49:10")
И я получаю сообщение об ошибке:
Error 1292: Incorrect datetime value: '2011-03-13 02:49:10' for column 'TimestampJPG'
Эта дата и время существуют в Танзании, но не в США, где находится база данных.