Мне интересно, почему PHP DateTime класс принимает странное значение для представления метки времени?
Значением незнакомца является @{$timestamp}
:
Пример:
$timestamp = time(); $date = new DateTime("@{$timestamp}");
Руководство PHP не отображает информацию, связанную с @{$timestamp}
!!
Обратите внимание, что невозможно сделать что-то вроде этого: $date = new DateTime(time());
Я знаю, что самый простой способ установить $date->setTimeStamp(time());
метку для класса DateTime: $date->setTimeStamp(time());
но я спрашиваю о @{$timestamp}
Кто-нибудь знает, что такое магия за @{$timestamp}
?
Использование @timestamp
задокументировано в разделе Date/Time
> Supported Date and Time Formats
> Compound Formats
> Localized Notations
Description Format Examples
Unix Timestamp "@" "-"? [0-9]+ "@1215282385"
$date = new DateTime();
будет эквивалентно недействительному$date = new DateTime(time());
потому что по умолчанию используется текущее время