1. 날짜 생성하기
■ 타임스탬프란?(timestamp)
1970/01/01 00:00:00초부터 몇 초가 지났는지를 나타내는 숫자입니다.
유닉스가 개발된 시점이 1970년대이고 유닉스에서 사용하기 위해 제작되었기에 위와 같은 시간으로 지정되었습니다.
- mktime()
년,월,일,시,분,초 의 값을 받아 타임스탬프를 만듭니다.
형식은 다음과 같습니다.
mktime(시, 분, 초, 월, 일, 년);
<?php
echo mktime(5,5,30,8,18,2021)."<br/>";
echo mktime(0,0,3,1,1,1970);
?>
일반적으로 mktime은 1970/01/01 00:00:00 을 기준으로 지난 초를 정수화 하는 개념입니다.
위쪽의 mktime은 2021/08/18 05:05:30 까지에 대한 Timestamp를 나타낸 것 이고,
아래의 mktime은 1970/01/01 00:00:03 까지에 대한 Timestamp를 나타낸 것 입니다.
- time()
time()은 1970/01/01 00:00:00 부터 지금까지 지나온 초를 정수형태로 리턴해주는 함수입니다.
<?php
echo time();
?>
- date()
time이나 mktime으로 생성한 값은 timestamp이며 이것은 사람이 읽고 이해하기에는 어려움이 있습니다.
이 때 사용하는 함수가 date 입니다.
date는 timestamp를 적절히 포맷팅해주는 함수입니다.
<?php
$timestamp = time();
echo "현재날짜 : ". date("Y-m-d")."<br/>";
echo "현재시간 : ". date("H:i:s")."<br/>";
echo "현재일시 : ". date("Y-m-d H:i:s")."<br/>";
?>
- DateTime 클래스
DateTime 클래스를 이용해서 표현할 수 있습니다.
<?php
$now = new DateTime();
$before = new DateTime('2021-08-19 00:40:30');
$after = new DateTime('2021-12-25 00:00:00');
$diff1 = $now->getTimestamp() - $before->getTimestamp();
echo $now->getTimestamp()."<br/>";
echo $before->getTimestamp()."<br/>";
echo "<br/>";
echo "$diff1";
?>
$now 는 말그대로 현재시간에 대한 DateTime 인스턴스이고,
$before, $after는 특정한 시간에 대한 DateTime 인스턴스입니다.
$diff1 는 두 시간에 대해 Unix TimeStamp 값으로 하여 시간차를 나타낸 것이며 echo로 출력한 결과입니다.
'php' 카테고리의 다른 글
[php 내장함수] 파일 관련 함수 (0) | 2021.08.25 |
---|---|
[php 내장함수] 배열 관련 함수 (0) | 2021.08.24 |
[php 내장함수] 문자 관련 함수 (0) | 2021.08.22 |
[php 내장함수] 숫자 관련 함수 (0) | 2021.08.21 |
클래스 및 객체(8) (0) | 2021.08.20 |