source

PHP를 사용하여 한 달 중 처음과 마지막 날짜를 찾는 방법은 무엇입니까?

gigabyte 2022. 12. 8. 21:22
반응형

PHP를 사용하여 한 달 중 처음과 마지막 날짜를 찾는 방법은 무엇입니까?

PHP를 사용하여 한 달 중 처음과 마지막 날짜를 찾는 방법은 무엇입니까?예를 들어 오늘은 2010년 4월 21일입니다.2010년 4월 1일과 2010년 4월 30일을 찾고 싶습니다.

가장 쉬운 방법은date하드 코드화된 값과 타임스탬프에서 추출된 값을 조합할 수 있습니다.타임스탬프를 지정하지 않으면 현재 날짜와 시간이 가정됩니다.

// Current timestamp is assumed, so these find first and last day of THIS month
$first_day_this_month = date('m-01-Y'); // hard-coded '01' for first day
$last_day_this_month  = date('m-t-Y');

// With timestamp, this gets last day of April 2010
$last_day_april_2010 = date('m-t-Y', strtotime('April 21, 2010'));

date()주어진 문자열을 검색합니다.'m-t-Y'특정 기호의 경우 타임스탬프의 값으로 대체합니다.따라서 이러한 기호를 사용하여 타임스탬프에서 원하는 값과 형식을 추출할 수 있습니다.위의 예에서는 다음과 같습니다.

  • Y타임스탬프로부터4 자리수의 연도를 나타냅니다('2010').
  • m타임스탬프로부터의 월(선행 0('04')을 지정합니다.
  • t타임스탬프 월('30')의 일수를 나타냅니다.

이걸로 창의력을 발휘할 수 있어요.예를 들어 월의 첫 번째 및 마지막 초를 가져오려면 다음 절차를 수행합니다.

$timestamp    = strtotime('February 2012');
$first_second = date('m-01-Y 00:00:00', $timestamp);
$last_second  = date('m-t-Y 12:59:59', $timestamp); // A leap year!

기타 기호 및 자세한 내용은 http://php.net/manual/en/function.date.php을 참조하십시오.

심플한 것

  • Y - 연도의 전체 숫자, 4자리
  • m - 월의 숫자(선행 0 포함)
  • t - 지정된 달의 일수

레퍼런스 - http://www.php.net/manual/en/function.date.php

<?php
    echo 'First Date    = ' . date('Y-m-01') . '<br />';
    echo 'Last Date     = ' . date('Y-m-t')  . '<br />';
?>

날짜 함수를 사용하여 한 달에 며칠이 있는지 확인할 수 있습니다.

// Get the timestamp for the date/month in question.
$ts = strtotime('April 2010');

echo date('t', $ts); 
// Result: 30, therefore, April 30, 2010 is the last day of that month.

도움이 됐으면 좋겠다.

편집: 루이스의 답변을 읽고 나서, 올바른 형식(YY-mm-dd)으로 하고 싶다는 생각이 들었습니다.당연한 일이지만 다음 사항을 언급하는 것은 나쁘지 않습니다.

// After the above code
echo date('Y-m-t', $ts); 

그러면 해당 달의 마지막 날이 표시됩니다.

function lastday($month = '', $year = '') {
   if (empty($month)) {
      $month = date('m');
   }
   if (empty($year)) {
      $year = date('Y');
   }
   $result = strtotime("{$year}-{$month}-01");
   $result = strtotime('-1 second', strtotime('+1 month', $result));
   return date('Y-m-d', $result);
}

그리고 첫날:

function firstDay($month = '', $year = '')
{
    if (empty($month)) {
      $month = date('m');
   }
   if (empty($year)) {
      $year = date('Y');
   }
   $result = strtotime("{$year}-{$month}-01");
   return date('Y-m-d', $result);
} 

특정 연도에 대해서는 다음과 같이 date()를 자연어로 사용합니다.

$first_date = date('d-m-Y',strtotime('first day of april 2010'));
$last_date = date('d-m-Y',strtotime('last day of april 2010'));
// Isn't it simple way?

단, 이번 달에는

$first_date = date('d-m-Y',strtotime('first day of this month'));
$last_date = date('d-m-Y',strtotime('last day of this month'));

지정된 날짜 변수에서 첫 번째 날짜와 마지막 날짜를 찾으려면 다음과 같이 하십시오.

$date    =    '2012-02-12';//your given date

$first_date_find = strtotime(date("Y-m-d", strtotime($date)) . ", first day of this month");
echo $first_date = date("Y-m-d",$first_date_find);

$last_date_find = strtotime(date("Y-m-d", strtotime($date)) . ", last day of this month");
echo $last_date = date("Y-m-d",$last_date_find);

현재 날짜의 경우 간단히 사용

$first_date = date('Y-m-d',strtotime('first day of this month'));
$last_date = date('Y-m-d',strtotime('last day of this month'));

의 처음 및 마지막 날짜를 얻으려면Last Month;

$dateBegin = strtotime("first day of last month");  
$dateEnd = strtotime("last day of last month");

echo date("D-F-Y", $dateBegin);  
echo "<br>";        
echo date("D-F-Y", $dateEnd);

심플한 형식

   $curMonth = date('F');
   $curYear  = date('Y');
   $timestamp    = strtotime($curMonth.' '.$curYear);
   $first_second = date('Y-m-01 00:00:00', $timestamp);
   $last_second  = date('Y-m-t 12:59:59', $timestamp); 

다음 달에 $curMonth를 $curMonth = date('F', strtotime("+1개월"))로 변경합니다.

$month=01;
$year=2015;
$num = cal_days_in_month(CAL_GREGORIAN, $month, $year);
echo $num;

마지막 날짜 31을 표시합니다.

다음을 사용할 수 있습니다.


$date = DateTimeImmutable::createFromFormat('Y-m-d', '2021-02-13');

var_dump($date->modify('first day of this month')->format('Y-m-d')); // string(10) "2021-02-01"
var_dump($date->modify('last day of this month')->format('Y-m-d')); // string(10) "2021-02-28"

mysql 컨텍스트에서 문의하는 경우, $dateFrom을 가지고 있고 첫 번째 날짜를 원할 경우 다음을 수행합니다.

date('Y-m-01', strtotime( $dateFrom))

저번 데이트 때도 비슷한 걸 할 수 있어요.

언급URL : https://stackoverflow.com/questions/2680501/how-can-i-find-the-first-and-last-date-in-a-month-using-php

반응형