PHP 에서 DateTime 의 일반적인 방법 을 정리 합 니 다.

4767 단어 phpdatetime
머리말
예 를 들 어 대상 앞 에\\를 붙 이 는 것 은 네 임 스페이스 에서 네 임 스페이스 를 사용 하 는 클래스 입 니 다.네 임 스페이스 를 사용 하지 않 으 면 앞의\를 삭제 할 수 있 습 니 다.
1.현재 시간 출력

$datetime = new \DateTime;
print_r($datetime->format('Y-m-d H:i:s'));
2.주어진 시간 출력

$datetime = new \DateTime('2016-06-13');
print_r($datetime);
3.주어진 시간 에 따라 원 하 는 시간 으로 포맷

$datetime = \DateTime::createFromFormat('Ymd', '20160618');
print_r($datetime->format('Y-m-d'));
4.출력 유 닉 스 타임 스탬프 형식(방법 1 1990 년 이전 이면 마이너스 로 돌아 가 고 방법 2 는 false 로 돌아 갑 니 다)

//  1(php5.2):
$datetime = new \DateTime();
echo $datetime->format('U');exit;

//  2(php5.3)  
$datetime = new \DateTime();
echo $datetime->getTimestamp();exit;
5.주어진 시간 스탬프 에 따라 주어진 시간 으로 포맷

$datetime = new \DateTime();
$datetime->setTimestamp(1465783744);
echo $datetime->format('Y-m-d H:i:s');
6.두 날짜 의 시간 비교,년 과 년 비교,달 과 달 비교...

$datetime1 = new \DateTime('2016-01-01 10:11:18');
$datetime2 = new \DateTime('2017-05-11 22:21:21');
$interval = $datetime1->diff($datetime2);
print_r($interval->format('%Y'));//%       ,R         (+),        (-),a          ,       y,m,d,h,i,s
7.생 성 길 이 는 며칠 전 입 니 다.
DateInterval 구조 함수 의 매개 변 수 는 시간 간격 약속 을 나타 내 는 문자열 입 니 다.이 시간 간격 약속 은 알파벳 P 로 시작 하고 뒤에 정 수 를 따 르 며 마지막 으로 주기 식별 자 입 니 다.앞의 정 수 를 제한 합 니 다.유효 주기 식별 자 는 다음 과 같다.Y(년)M(월)D(일)W(주)H(시)M(분)S(초)간격 약정 에는 시간 도 있 고 날짜 도 있 을 수 있다.시간 이 있 으 면 날짜 와 시간 사이 에 알파벳 T 를 붙 여야 한다.예 를 들 어 간격 약정 P2D 는 이틀 간격 을 나타 내 고 간격 약정 P2DT5H2M 은 이틀 5 시간 2 분 간격 을 나타 낸다.

$datetime = new \DateTime();
$interval = new \DateInterval('P2DT5H');
//    createFromDateString  
//$interval = \DateInterval::createFromDateString('1 month');
//  DateTime  
$datetime->add($interval);
echo $datetime->format('Y-m-d H:i:s');
8.창설 며칠 전 시간

$datetime = new \DateTime();
$interval = new \DateInterval('P2DT5H');
$datetime->sub($interval);
echo $datetime->format('Y-m-d H:i:s');
//ps:  modify  ,       30,      1 ,     12 
$datetime = new \DateTime('2014/12/31');
$datetime->modify( '-1 month' );
print_r($datetime);exit;
9.현재 DateTime 대상 의 시간 이 다른 날짜,전달 년,월,일 리 셋

$datetime = new \DateTime();
$datetime->setDate(2015, 2, 28);
echo $datetime->format('Y-m-d');exit;
10.현재 DateTime 대상 을 리 셋 하 는 시간,전달 시,분,초(선택 가능 한 인자)

$datetime = new \DateTime();
$datetime->setTime(20, 20, 24);
echo $datetime->format('Y-m-d H:i:s');exit;
11.포맷 하기 전에 시간 을 변경 하 는 시간 대

$timezone = new \DateTimeZone('Asia/Calcutta');
$datetime = new \DateTime();
$datetime->setTimezone($timezone);
print_r($datetime->format('Y-m-d H:i:s'));exit;
12.시간 대 되 돌리 기

$date = new \DateTime(null, new DateTimeZone('Asia/Shanghai'));
$tz = $date->getTimezone();
echo $tz->getName();
13.두 시간 대의 오프셋 값 을 계산한다.

$dateTimeZoneTaipei = new \DateTimeZone("Asia/Taipei");
$dateTimeZoneJapan = new \DateTimeZone("Asia/Tokyo");
$dateTimeTaipei = new \DateTime("now", $dateTimeZoneTaipei);
$dateTimeJapan = new \DateTime("now", $dateTimeZoneJapan);
$timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);
print_r($timeOffset);exit;
14.복귀 시간 간격,얼마 동안

$interval = new \DateInterval('P2Y4DT6H8M');
echo $interval->format('%d days');
15.교체 출력 은 현재 날짜 의 며칠 전 날짜 입 니 다.
DatePeriod 류 의 구조 방법 은 세 개의 인 자 를 받 아들 이 고 모두 DateTime 인 스 턴 스 를 제공 해 야 합 니 다.교체 시작 날짜 와 시간 을 나타 내 는 DateInterval 인 스 턴 스 는 다음 날짜 와 시간의 간격 을 나타 내 는 정수 입 니 다.교체 의 총 횟수 를 나타 내 는 네 번 째 인 자 는 선택 할 수 있 습 니 다.주기의 종료 날짜 와 시간 을 명시 적 으로 지정 하 는 데 사 용 됩 니 다.교체 할 때 시작 날짜 와 시간 을 제외 하려 면 구조 방법의 마지막 매개 변 수 를DatePeriod::EXCLUDE_START_DATE상수 로 설정 할 수 있 습 니 다.

$datetime = new \DateTime();
$interval = \DateInterval::createFromDateString('-1 day');
$period = new \DatePeriod($datetime, $interval, 3);
foreach ($period as $date) {
  echo $date->format('Y-m-d'), PHP_EOL;
}
총결산
이상 은 PHP 에서 DateTime 의 일반적인 방법 으로 정 리 된 모든 내용 입 니 다.내용 정리 가 비교적 완비 되 어 있어 서 여러분 들 이 일상적으로 PHP 를 사용 하 는 데 도움 이 될 것 이 라 고 믿 습 니 다.소장 이 편리 한 후에 찾 아 보 는 것 을 권장 합 니 다.

좋은 웹페이지 즐겨찾기