Почему из формы приходит дата 01.01.1970?

Вопрос, почему из формы приходит дата 01.01.1970, имеет отношение к концепции UNIX-времени и работе со временем в программировании.

UNIX-время представляет собой количество секунд, прошедших с 1 января 1970 года 00:00:00 по UTC. Эта дата называется эпохой UNIX (Epoch). Во многих языках программирования, включая PHP (который используется в WordPress), время измеряется в этом формате.

Когда пользователь отправляет форму, введенные им данные отправляются на сервер. Если в форме указано поле для ввода даты и оно не заполнено, браузер по умолчанию отправляет эту информацию как пустую строку или значение NULL.

На сервере, где работает WordPress, PHP обрабатывает отправленные данные. В PHP есть функция strtotime(), которая преобразует строку с датой и временем в UNIX-время. Если значение не может быть преобразовано, функция strtotime() возвращает false.

Когда отправленное значение даты является пустой строкой или NULL, функция strtotime() не может преобразовать его в валидное значение даты и возвращает false. В WordPress это часто происходит, если на форме есть поле для даты и пользователь не заполнил его.

Вместо того, чтобы оставлять поле пустым или с невалидным значением даты, можно применить проверки на стороне клиента (на JavaScript) или на стороне сервера (в PHP), чтобы убедиться, что введенное значение даты является допустимым.

Важно также учитывать временную зону ваших серверов и настроек WordPress. По умолчанию, WordPress использует временную зону UTC, но вы можете изменить это в настройках WordPress или в своем коде.

В заключение, если в форме приходит дата 01.01.1970, это может быть связано с отсутствием значения в поле даты или с неверным форматом, который не может быть преобразован в UNIX-время. Необходимо применить проверки на стороне клиента и сервера, чтобы гарантировать, что введенные данные являются корректными.