반응형
가능한 중복 :
주어진 요일에 대한 주, 월, 분기 및 연도의 첫 번째와 마지막 날을 얻으려고합니다.
예를 들어 2013-01-16 일의 경우 첫 날과 마지막 날은 다음과 같습니다.
- Week - It would be 2013-01-13 and 2013-01-19 (assuming Sunday to Saturday)
- Month - It would be 2013-01-01 and 2013-01-31
- Quarter - It would be 2013-01-01 and 2013-03-31
- Year - It would be 2013-01-01 and 2013-12-31
내 목적은 WHERE myDate BETWEEN 2013-01-13 AND 2013-01-19
에 포함하는 것입니다.
표준 MYSQL 함수 솔루션 (저장 프로 시저 등은 아님) 또는 PHP 솔루션 모두 허용됩니다. 감사합니다
주어진 분기의 첫날과 마지막 날에 대한 솔루션입니다.
$q=ceil($date->format("n")/3);
$months_start=array('January','April','July','October');
$months_end=array('March','June','September','December');
$m_start=$months_start[$q-1];
$m_end=$months_end[$q-1];
$modifier='first day of '.$m_start.' '.$date->format('Y');
$date->modify($modifier);
echo $modifier.': '.$date->format('Y-m-d').'<br>';
$modifier='last day of '.$m_end.' '.$date->format('Y');
$date->modify($modifier);
echo $modifier.': '.$date->format('Y-m-d').'<br>';
해결 방법
$date = strtotime('2013-01-16');
// First/last day of week
$first = strtotime('last Sunday');
$last = strtotime('next Saturday');
$date = new DateTime('2013-01-16');
// First/last day of month
$first = $date->modify('first day of this month');
$last = $date->modify('last day of this month');
1 년의 첫 번째 / 마지막 날을 가져 오는 것은 조금 더 까다로울 수 있습니다.
// Get date
$date = new DateTime('2013-01-16');
// Format to get date
$year = $date->format('Y');
// Get first day of Jan and last day of Dec
$first = $date->modify("first day of January $year");
$last = $date->modify("last day of December $year");
참조 페이지 https://stackoverflow.com/questions/14415914
반응형
'MySql' 카테고리의 다른 글
MySQL How to calculate aggregate function SUM on an alias column? (0) | 2021.01.14 |
---|---|
MySQL Display Mysql table field values in Select box (0) | 2021.01.14 |
MySQL의 열에 인덱스 추가 (0) | 2021.01.13 |
MySQL query_cache_type : 활성화 또는 비활성화? (0) | 2021.01.13 |
MySQL 새 MySQL 테이블 열 추가 및 인덱스 생성 (0) | 2021.01.13 |
댓글