PHP: проблема с timestamp в DateTime
Все бы хорошо, да есть у данного класса проблемка, с которой я столкнулся только недавно.
Календарные типы данных в MySQL: особенности использования
Хранение даты в mysql с учетом часового пояса
Статья о том, как избежать путаницы с датами, хранимыми в mysql.
Эти путаницы возникают по двум причинам:
1. Разные территории нашей планеты имеют разный сдвиг времени.
2. Некоторые страны переходят на летнее время и обратно(карта со странами, переходящими на летнее время).
Многие решают эти проблемы по-разному. Кто-то делает сдвиг даты в SQL запросах, кто-то в php. Кто-то хранит даты в TIMESTAMP, кто-то в DATETIME. Я переискал много источников, но нигде не нашел верного решения данной проблемы на русском. В родной документации по mysql нашел информацию о том, как добиться корректной автоматической конвертации TIMESTAMP в локальное время, но тут тоже свои подводные камни.
Если в php настройка временной зоны делается просто, в mysql возникают сложности, особенно, если доступ к mysql серверу вам ограничен и там еще не установлены некоторые таблицы.
Перевод даты в неименованный часовой пояс
new DateTime('2009-09-30 12:00:00+0400');
Если у нас есть две даты, которые находятся в разных часовых поясах, то иногда полезно посмотреть время одной даты в часовом поясе другой. Если обе даты были инициализированы способом, указанным выше (т.е. использую неименованные часовые пояса), то происходит ошибка «Can only do this for zones with ID for now».
Чтобы её обойти, делаем наследника DateTime
Красивые и правильные даты на любом языке
Валидация Datetime полей при переводе проекта от ASP.NET MVC 3 к ASP.NET MVC 4
Описание
Недавно решил попробовать новую версии платформы ASP.NET MVC 4, и перевел проект с MVC 3 на MVC 4.
И тут возникли нежданно, негаданно проблемы (хотя кого я обманываю, переход на бета версию всегда означает некий риск) с валидацией на клиентской стороне полей типа Datetime. Внезапно представление отказывалось валидировать такие поля, хотя раньше они проходили ее, учитывая тот факт что настройки для культур сервера и представления остались те же.
Дублирование объекта при попытке получить данные из таблицы с ключом DateTime
Суть проблемы
При попытке получить данные (в виде массива объектов(Entity)) из таблицы с ключом типа DateTime, Doctrine возвращала массив состоящий из одного объекта (первой строки) и ссылок на него же.
Особенности работы со временем в различных временных зонах
О координации изменений во временных зонах
Знаете, что общего у Турции, Чили, России, Венесуэлы, Азербайджана, Северной Кореи и Гаити? Хаос в управлении временными зонами.
Нет, это не шутка. На самом деле это достаточно серьёзная проблема. Хуже всего во временных зонах не то, что они вообще существуют, и даже не летнее время. Хуже всего то, что часто они изменяются совершенно внезапно. Позвольте я объясню.
Работа со временем и датой в C# с применением библиотеки Humanizer
Цель этой статьи — показать вам, как использовать Humanizer, чтобы вывести работу со временем и датой в ваших C#-проектах на новый уровень. Я расскажу о том, как преобразовать объекты DateTime
и TimeSpan
в удобный для восприятия человеком вид, как настраивать параметры гуманизации и как объединять гуманизацию строк со временеме/датой. Мы также рассмотрим некоторые реальные сценарии использования и примеры того, как Humanizer может улучшить пользовательский опыт в отношении времени и даты.
Время изменений: депрекация datetime.utcnow() в Python
Как-то я изучал release notes новой версии Python 3.12, и в разделе о депрекациях моё внимание привлекла следующая фраза:
utcnow()
и utcfromtimestamp()
из datetime.datetime
устарели и будут удалены в будущей версии.
Если вы следили за моими туториалами по веб-разработке, то видели, что я часто использую utcnow()
; очевидно, мне придётся переучиваться и использовать альтернативу, готовясь к неизбежному удалению этой функции (вероятно, это произойдёт спустя несколько лет, так что причин для паники нет!).
В этой краткой статье я подробнее расскажу о том, почему эти функции попали под нож и чем их можно заменить.