PHP에서 2038 날짜 제한 극복
PHP에서 날짜는 일반적으로 밀리초 타임스탬프를 사용하여 표현됩니다. 결과적으로 표현 가능한 최대 날짜는 2038년 1월 19일 03:14:07 UTC입니다. 이 제한은 타임스탬프를 저장하는 데 사용되는 32비트 부호 있는 정수로 인해 발생합니다.
그러나 날짜의 연도, 월, 일 구성 요소만 저장해야 하는 경우 이 제한을 극복할 수 있습니다. 하루 중 시간에 관하여. 이 추가 정보를 삭제하면 표시할 수 있는 날짜 범위를 효과적으로 늘릴 수 있습니다.
이 접근 방식을 구현하려면 다음과 같은 객체 지향 접근 방식을 사용할 수 있습니다.
class Date { private $year; private $month; private $day; public function __construct($year, $month, $day) { $this->year = $year; $this->month = $month; $this->day = $day; } public function getYear() { return $this->year; } public function getMonth() { return $this->month; } public function getDay() { return $this->day; } public function toTimestamp() { return mktime(0, 0, 0, $this->month, $this->day, $this->year); } }
이 클래스 DateTime 클래스의 타임스탬프에 의존하지 않고 날짜를 만들고 조작할 수 있습니다. 날짜의 연도, 월, 일을 가져오는 등 기본적인 계산을 수행하고 필요한 경우 이를 타임스탬프로 변환할 수 있습니다.
이 접근 방식을 사용하면 2038년 제한을 극복하고 날짜를 훨씬 더 오래 계산할 수 있습니다. 필요에 따라 미래. 하지만 이 방법은 시간 정보를 보존하지 않는다는 점에 유의하세요.
위 내용은 2038년 한도를 넘어 PHP 날짜 처리를 확장하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!