-
1. 변수선언
- 변수 타입을 지정하지 않아도 값에 따라 타입이 지정된다
<?php // $변수명 = 값; $variable = value;
2. 출력
- php파일을 읽어서 문자열이나, 숫자, html 파일 등 까지도 출력할 수 있다
<?php // 문자열 echo 'Hello World'; // 변수 선언 $raw = '22. 11. 1968'; $start = DateTime::createFromFormat('d. m. Y', $raw); // 변수 출력 echo 'start date' . $start->format('Y-m-d') . PHP_EOL; // PHP_EOL 은 개행을 의미한다.
3. 메소드 사용
<?php $raw = '22. 11. 1968'; $start = DateTime::createFromFormat('d. m. Y', $raw); // 변수 복사 $end = clone $start; // 메소드 활용 $end -> add(new DateInterval('P1M6D')); // P 는 Period $diff = $end -> diff($start); echo 'Difference: ' . $diff -> format('%m month, %d days (total: %a days)') . PHP_EOL;
4. 비교 연산자 사용
<?php if($start < $end){ echo "Start is before the end" . PHP_EOL; }
5. 클래스 활용, 반복문
- 클래스로 부터 특정 기능들을 활용할 수 있다.
DateInterval 로 날짜의 시간간격(규칙)을 지정하고
DatePeriod 로 날짜를 특정화 해보자
<?php $periodInterval = DateInterval::createFromDateString('first thursday'); var_dump($periodInterval); echo '띄어쓰기' . PHP_EOL; print_r($periodInterval);
- $periodInterval 변수에 날짜의 시간간격(규칙)을 나타내는 객체를 저장했다.
객체의 형태를 확인하려면 var_dump($variable) 또는 print_r($variable)을 활용한다.
<?php $periodIterator = new DatePeriod($start, $periodInterval, $end, DatePeriod::EXCLUDE_START_DATE); foreach ($periodIterator as $date) { // 지정된 기간 안에 있는 모든 날짜를 출력한다. echo $date->format('Y-m-d') . ' '; }
- new DatePeriod 에 (시작날짜, 시간간격, 끝나는날짜, 시작날짜 포함여부) 를 넣어서 $periodIterator 변수에 저장하고
foreach 문을 활용해서 하나씩 출력했다.
new DatePeriod(start , interval , end , DatePeriod:: ) 의 결과는 특정 조건을 만족하는 객체이고,
다음과 같이 foreach 반복문을 거치면
foreach($periodIterator as $date){ $date } 내부에서
class DateTime#6 (3) { public $date => string(26) "1968-11-28 11:02:13.000000" public $timezone_type => int(3) public $timezone => string(10) "Asia/Seoul" }
DateTime 클래스를 반환한다. 이것을 $date -> format('Y-m-d') 로 포멧해서 사용할 수 있다.
'php' 카테고리의 다른 글
codeigniter 프로젝트 생성 (0) 2023.08.09 php의 Composer 활용하기 (0) 2023.08.09 php 기본 문법 2 (0) 2023.08.09 php 백엔드 개발환경 설정 (windows) (0) 2023.08.08 scoop으로 php 다운받기 (0) 2023.08.08