miałem ten błąd budowlany podczas próby tworzenia nowego obiektu DateTime przy użyciu znacznika czasu:PHP DateTime __construct() Nie można analizować ciąg czasu (xxxxxxxx) w pozycji x
Exception: DateTime::_construct(): Failed to parse time string (1372622987) at position 8 (8): Unexpected character in DateTime->_construct()
Kod tworzenie obiektu jest:
$start_date = new DateTime("@{$dbResult->db_timestamp}");
Gdzie $ dbResult-> db_timestamp jest prawidłowym znacznikiem czasowym unix pobranym z bazy danych. Znacznik czasu, o którym mowa, to:
1372622987
Zrozumiałbym ten błąd w przypadku przekazywania nieprawidłowych formatów, ale jest to prawdziwy znacznik czasu.
Powód jest bardzo dziwny: od czasu uruchomienia skryptu, aby utworzyć nowy obiekt DateTime ze znacznikiem czasu przekazanym jako zakodowana wartość, nie zgłoszono żadnych błędów.
To zdaje się być jednorazowe, ale potrzebuję wyjaśnienia, jeśli takie istnieje, ponieważ nie mogę sobie na to pozwolić.
Kod wydaje się działać: http://codepad.org/3RxtyU4b – crush
błąd pisał i kod zostały wysłane nie pasują. Błąd wskazuje, że znacznik czasu przekazywany do konstruktora 'DateTime' nie ma wiodącego' @ 'na nim, podczas gdy napisany kod pokazuje, że jest on zawarty. Jedna z tych rzeczy jest niedokładna. –
@SeanBright Mogę potwierdzić, że usunięcie wiodącego '@' powoduje powstanie tego dokładnego błędu: http://codepad.org/ZPZmXi2x – crush