Development Tip

지정된 날짜에서 연도 가져 오기 PHP

yourdevel 2020. 12. 10. 21:24
반응형

지정된 날짜에서 연도 가져 오기 PHP


이 형식의 날짜가 2068-06-15있습니다. PHP 함수를 사용하여 날짜에서 연도를 얻고 싶습니다. 누군가 이것이 어떻게 할 수 있는지 제안 해 주시겠습니까?


$date = DateTime::createFromFormat("Y-m-d", "2068-06-15");
echo $date->format("Y");

DateTime 클래스는 내부적으로 유닉스 타임 스탬프를 사용하지 않으므로 1970 년 이전 또는 2038 년 이후 날짜를 처리합니다.


다음 strtotimedate같이 함수를 사용할 수 있습니다 .

echo date('Y', strtotime('2068-06-15'));

그러나 PHP는 2038 년까지 처리 할 수 ​​있습니다.

여기에서 테스트 할 수 있습니다.


날짜가 항상 해당 형식이면 다음과 같이 연도를 얻을 수도 있습니다.

$parts = explode('-', '2068-06-15');
echo $parts[0];

나는 이것을 사용할 것이다 :

$parts = explode('-', '2068-06-15');
echo $parts[0];

날짜는 항상 동일한 소스에서 오는 것으로 보이며 폭발을 사용하면 훨씬 더 빠릅니다.


  public function getYear($pdate) {
    $date = DateTime::createFromFormat("Y-m-d", $pdate);
    return $date->format("Y");
}

public function getMonth($pdate) {
    $date = DateTime::createFromFormat("Y-m-d", $pdate);
    return $date->format("m");
}

public function getDay($pdate) {
    $date = DateTime::createFromFormat("Y-m-d", $pdate);
    return $date->format("d");
}

<?php
list($year) = explode("-", "2068-06-15");
echo $year;
?>


날짜를 문자열로 가정하면 (그렇다면 질문에서 명확하지 않습니다) 문자열을 다음과 같이-문자로 나눌 수 있습니다.

$date = "2068-06-15";
$split_date = split("-", $date);
$year = $split_date[0];

$Y_date = split("-","2068-06-15");
$year = $Y_date[0];

폭발도 사용할 수 있습니다.


그 형식을 YYYY-mm-dd에서 dd-mm-YYYY로 변경할 수 있다고 썼습니다.

$parts = explode("-","2068-06-15");
for ($i = 0; $i < count($parts); $i++)
{
     if(strlen($parts[$i]) == 4)
     {
          $year = $parts[$i];
          break;
      }
  }

참고 URL : https://stackoverflow.com/questions/4529640/get-the-year-from-specified-date-php

반응형