>백엔드 개발 >PHP 문제 >PHP 날짜 데이터 유형 변환

PHP 날짜 데이터 유형 변환

王林
王林원래의
2023-05-07 11:11:11969검색

웹 애플리케이션을 개발할 때 날짜 데이터 유형 변환이 종종 포함됩니다. PHP는 날짜 형식 지정, 비교, 계산 및 기타 작업을 쉽게 수행할 수 있는 다양한 날짜 및 시간 함수를 제공합니다. 이 기사에서는 PHP의 날짜 데이터 유형과 해당 변환 방법을 소개합니다.

PHP 날짜 데이터 유형

PHP에서 날짜는 문자열이나 정수로 표시될 수 있습니다. 일반적으로 사용되는 날짜 형식은 다음과 같습니다.

  • Y-m-d H:i:s: 연-월-일 시: 분: 초(예: 2022-01-01 00:00:00
  • Y/m/d H:i: s : 연/월/일 시: 분: 초(예: 2022/01/01 00:00:00
  • Y 년 m 월 d 일 H 시간 i 분 s 초: 연 월 일 시 분 초(예: 1월) 2022년 01일 일 00시 00분 00초
  • Unix 타임스탬프: 1970년 1월 1일 이후 경과된 초 수, 예: 1640995200

문자열에서 날짜 유형

PHP 내장 함수 strtotime()을 사용하면 날짜를 변환하고 시간 문자열을 Unix 타임스탬프로 변환할 수 있습니다. 이 함수는 날짜와 시간을 나타내는 문자열을 매개변수로 받아들이고 날짜에 해당하는 Unix 타임스탬프를 반환합니다.

$time_str = '2022-01-01';
$time_stamp = strtotime($time_str);
echo $time_stamp; // 输出:1640995200

위 코드는 날짜 문자열 '2022-01-01'을 Unix 타임스탬프로 변환하여 타임스탬프를 출력합니다.

Note: strtotime() 함수를 사용하여 날짜 문자열을 타임스탬프로 변환하는 경우 날짜 형식은 "Month Day Year" 또는 "Day Month Year"의 영어 날짜 형식 또는 "Y-m-d"의 날짜 형식이어야 합니다. ".

Unix 타임스탬프를 날짜 형식으로

Unix 타임스탬프는 PHP 내장 함수 date()를 통해 지정된 날짜 형식으로 형식화할 수 있습니다. 이 함수는 두 개의 매개변수를 허용합니다. 첫 번째 매개변수는 날짜 형식을 나타내는 문자열이고 두 번째 매개변수는 Unix 타임스탬프입니다.

$time_stamp = 1640995200;
$date_str = date('Y-m-d H:i:s', $time_stamp);
echo $date_str; // 输出:2022-01-01 00:00:00

위 코드는 Unix 타임스탬프 1640995200을 'Y-m-d H:i:s' 형식의 날짜 문자열로 형식화하고 해당 문자열을 출력합니다.

직접 문자열 비교

PHP에서는 문자열 비교 연산자(>, <, ==, != 등)를 직접 사용하여 날짜 문자열의 크기를 비교할 수 있습니다. 날짜 문자열을 Unix 타임스탬프로 변환하는 경우 숫자 비교 연산자(>, <, =, != 등)를 사용하여 직접 비교할 수도 있습니다.

$date_str1 = '2022-01-01';
$date_str2 = '2022-01-02';
if ($date_str1 < $date_str2) {
    echo '日期 ' . $date_str1 . '在 ' . $date_str2 . '之前';
} else {
    echo '日期 ' . $date_str1 . '在 ' . $date_str2 . '之后';
}

위 코드는 두 날짜 문자열의 크기를 비교하고 최종 비교 결과를 출력합니다.

날짜를 타임스탬프로

PHP 내장 함수 mktime()을 사용하여 날짜를 Unix 타임스탬프로 변환할 수 있습니다. 이 함수는 시, 분, 초, 월, 일, 연도 등 여러 매개변수를 허용합니다. 인수가 지정되지 않으면 함수는 현재 시간의 Unix 타임스탬프를 반환합니다.

$year = 2022;
$month = 1;
$day = 1;
$hour = 0;
$minute = 0;
$second = 0;
$time_stamp = mktime($hour, $minute, $second, $month, $day, $year);
echo $time_stamp; // 输出:1640995200

위 코드는 '2022-01-01' 날짜를 Unix 타임스탬프로 변환하여 타임스탬프를 출력합니다.

타임스탬프를 날짜로 변환

위에 소개된 date() 함수와 유사하게, PHP 내장 함수 strftime()은 Unix 타임스탬프를 지정된 날짜 형식으로 형식화할 수도 있습니다. 이 함수는 두 개의 매개변수를 허용합니다. 첫 번째 매개변수는 날짜 형식을 나타내는 문자열(%Y, %m, %d, %H, %M, %S 등과 같은 형식 지정 문자 지원)이고 두 번째 매개변수는 유닉스 타임스탬프.

$time_stamp = 1640995200;
$date_str = strftime('%Y年%m月%d日 %H时%M分%S秒', $time_stamp);
echo $date_str; // 输出:2022年01月01日 00时00分00秒

위 코드는 Unix 타임스탬프 1640995200을 지정된 날짜 형식으로 형식화하고 형식화된 문자열을 출력합니다.

결론

PHP에서는 날짜 유형 변환 작업 시 개발자가 내장 함수 strtotime(), date(), mktime(), strftime() 및 기타 함수를 사용하여 작업을 편리하게 수행할 수 있습니다. 실제 개발에서는 구체적인 필요에 따라 적절한 기능을 선택하고 유연하게 활용하는 것이 필요합니다.

위 내용은 PHP 날짜 데이터 유형 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.