PHP에서 타임스탬프는 1970년 1월 1일 00:00:00 UTC 이후 경과된 초 수를 나타내는 정수입니다. 타임스탬프는 사용자 등록 시간, 주문 시간 등 이벤트 발생 시간을 기록하는 데 자주 사용됩니다.
때로는 더 쉽게 계산하고 표시하기 위해 타임스탬프를 일수로 변환해야 할 때가 있습니다. 타임스탬프를 일수로 변환하는 기능을 구현하는 두 가지 방법은 다음과 같습니다.
방법 1: 날짜 함수 사용
PHP의 날짜 함수는 매우 강력하며 시간 변환 및 서식 지정에 사용할 수 있습니다.
PHP의 date() 함수를 사용하여 타임스탬프를 날짜로 변환한 다음 strtotime() 함수를 사용하여 특정 시점 사이에 경과한 초 수를 계산할 수 있습니다.
샘플 코드는 다음과 같습니다.
$timestamp = 1633420800; // 2021年10月6日 00:00:00 $days = round((time() - strtotime(date('Y-m-d', $timestamp))) / (60 * 60 * 24)); echo $days; // 输出:0
위 코드에서는 먼저 타임스탬프 변수 $timestamp
,表示 2021 年 10 月 6 日零点整的时间戳。然后使用 date() 函数将时间戳格式化成 Y-m-d
에 대한 날짜 문자열을 정의합니다. 그런 다음 strtotime() 함수를 사용하여 날짜 문자열을 타임스탬프로 변환하고 현재 시간과의 차이를 계산한 다음 마지막으로 초를 (60 60 24)로 나누어 일 수를 구합니다.
참고: 계산 오류를 방지하기 위해 여기서는 round() 함수를 사용하여 일수를 가장 가까운 정수로 반올림합니다. 또한 계산 시 현재 시간의 타임스탬프를 사용해야 합니다. 위 코드의 출력 결과는 2021년 10월 6일 자정까지 하루 미만이므로 0이 되어야 합니다.
방법 2: Floor 함수를 사용하세요
날짜 형식으로 변환하지 않고 대략적인 일수만 계산해야 한다면, Floor 함수를 사용하여 타임스탬프에 해당하는 일수를 직접 계산할 수도 있습니다.
1633420800을 일수로 변환해야 한다고 가정하면 코드는 다음과 같습니다.
$timestamp = 1633420800; // 2021年10月6日 00:00:00 $days = floor($timestamp / (60 * 60 * 24)); echo $days; // 输出:18907
위 코드에서는 타임스탬프를 (60 60 24)로 직접 나누어 경과 일 수를 얻은 다음 정수 부분을 취하는 Floor 함수입니다. 여기서 계산 결과는 18907이며, 이는 18907일이 지났음을 의미합니다.
요약
이 기사에서는 PHP 타임스탬프를 일수로 변환하는 두 가지 방법을 소개합니다. 또한 다른 날짜 처리 함수를 사용하여 특정 요구에 따라 시간 변환 및 계산을 완료할 수도 있습니다. 타임스탬프와 날짜 함수의 사용을 익히는 것은 PHP 개발 및 데이터 분석에 매우 중요합니다.
위 내용은 PHP에서 타임스탬프를 날짜로 변환하는 방법에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!