Nano Hash - криптовалюты, майнинг, программирование

Как я могу избежать проблем с датой и временем в TYPO3?

Я создал небольшое расширение, которое использует дату и время для просмотра некоторых конкретных событий (дата события и время события), но у меня всегда возникают проблемы, если я пытаюсь получить правильную дату и время из базы данных во внешнем интерфейсе.

Я могу установить дату и время для каждого события через бэкэнд TYPO3:

введите здесь описание изображения

Но если я попытаюсь получить это значение на внешнем интерфейсе, например:

<f:format.date format="d.m.Y - H:i:s">{event.appointment}</f:format.date>

Тогда вывод будет не "10.04.2016 - 08:00:00", а "10.04.2016 - 10:00:00".

Как я могу избежать такого поведения? Я также установил часовой пояс с помощью инструмента установки:

[SYS][phpTimeZone] = Europe/Berlin

но я всегда получаю неправильное время и дату. Если я попробую что-то вроде этого:

DebugUtility::debug(new \DateTime());

то я получаю правильный вывод:

{"date":"2016-04-09 20:23:38.000000","timezone_type":3,"timezone":"Europe\/Berlin"}

Если я взгляну на базу данных, я увижу, что хранится правильное время и дата:

введите здесь описание изображения

Так что я не знаю, почему я получил неправильную дату и время, какие-либо предложения?

09.04.2016

Ответы:


1

Есть некоторое несоответствие с преобразованием даты в TYPO3, оно ведет себя по-разному в TCE и в Extbase. Extbase считает, что все даты хранятся в БД в формате UTC, поэтому в процессе сопоставления данных ваша дата преобразуется из UTC в теоретически местное время (ИМХО, это не следует делать или это должно быть настроено с помощью Install Tool), грязный, но работающий трюк обманывает TYPO3 , просто в Install Tool > All configurations найдите настройку [SYS][phpTimeZone] и установите для нее значение UTC.

Таким образом, Extbase будет думать, что вы находитесь в зоне UTC, и вам не нужно будет ничего менять в php.ini.

10.04.2016
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..