UFO ET IT

PHP의 타임 스탬프에서 DateTime 만들기 <5.3

ufoet 2020. 12. 12. 11:54
반응형

PHP의 타임 스탬프에서 DateTime 만들기 <5.3


5.3 미만 버전의 타임 스탬프에서 DateTime을 어떻게 생성합니까?

5.3에서는 다음과 같습니다.

$date = DateTime::createFromFormat('U', $timeStamp);

DateTime 생성자는 문자열을 원하지만 이것은 나를 위해 작동하지 않았습니다.

$date = new DateTime("@$timeStamp");

PHP 5> = 5.3.0

$date = new DateTime();
$date->setTimestamp($timeStamp);

편집 : 올바른 PHP 버전 추가setTimestamp


이전 답변에서와 같이 날짜뿐만 아니라 날짜와 시간을 원한다고 가정합니다.

$dtStr = date("c", $timeStamp);
$date = new DateTime($dtStr);

그래도 그렇게 해야하는 것은 꽤 어리석은 것 같습니다.


$ timeStamp 변수가 비어 있기 때문에 작동하지 않습니다. DateTime을 만들기 직전에 $ timeStamp의 값을 반영 해 보면 알 수 있습니다. 이것을 실행하면 :

new DateTime('@2345234');

오류가 발생하지 않습니다. 그러나 다음을 실행하면 :

new DateTime('@');

그것은 당신이 제공한다고 말한 정확한 오류를 생성합니다. 몇 가지 디버깅을 수행하고 $ timeStamp가 비어있는 이유를 찾아야합니다.


다음 작업 :

$dateString = date('Ymd', $timeStamp);
$date = new DateTime($dateString);

참고 URL : https://stackoverflow.com/questions/4329872/creating-datetime-from-timestamp-in-php-5-3

반응형