PHP는 현지화된 타임스탬프 기능을 얻습니다.
실제 작업에서는 생성할 특정 시간을 지정해야 하는 경우가 많습니다.
예를 들어 어제부터 오늘 이 순간까지 등록된 사용자를 찾아야 합니다.
그런 다음 두 가지 작업을 수행해야 합니다.
1. 현재 시간 unix 타임스탬프를 가져옵니다. time() 함수로 직접 할 수 있습니다
2. 그러면 어제 지정된 시간을 생성하는 방법입니다. 이때 mktime() 함수를 사용해야 합니다. 약어: 창조 시간을 만들어라.
생성된 시간은 Unix 타임스탬프인 것이 좋습니다. 왜냐하면 1970년 1월 1일 0시부터 지금까지의 시간이기 때문입니다. 간격을 판단하여 어제부터 오늘까지 등록된 사용자를 시간에 따라 필터링합니다.
mktime() 함수는 날짜와 시간에 대한 현지화된 타임스탬프를 가져올 수 있습니다. 구문 형식은 다음과 같습니다.
int mktime (int $hour [, int $ Minute [, int $second [, int $month [, int $day [. int$year [, int $.is_dstl.l } ] ] 31)
함수의 매개변수는 각각 시, 분, 초, 월, 일, 연도 및 일광 절약 시간 여부를 나타냅니다. 이 기능을 사용할 때 나열된 매개변수는 해당 기능의 매개변수와 동일한 의미를 갖습니다. 예를 들어, 다음 코드는 mktime을 사용하여 타임스탬프를 생성하는 기능을 구현합니다.
<?php echo mktime (13 ,15 , 30, 8,18, 2008) ; ?>
프로그램 실행 결과는 다음과 같습니다.
1219036530
mktime 함수의 반환 결과는 Unix 타임스탬프이므로 사용자에게는 거의 의미가 없으며, 날짜 기능과 함께 자주 사용됩니다.
예를 들어 다음 코드는 시간 계산을 구현합니다.
<?php echo date("m-d-Y h:m:s")."\n"; echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d"),date("Y")))."\n"; echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d")-30,date("Y")))."\n"; ?>
이 코드를 사용할 때 strtotime()이라는 다른 함수를 사용해야 하는 경우가 많습니다.
구문 형식은 다음과 같습니다.
int strtotime ( string $time [, int $now = time() ] )
가능합니다. 영어 텍스트 날짜/시간 설명을 Unix 타임스탬프로 구문 분석합니다.
매개변수:
1. 문자열의 시간을 전달합니다.
2. 선택적 매개변수는 유닉스 타임스탬프를 전달할지 여부입니다. 그렇지 않은 경우에는 현재 유닉스 타임스탬프.
매뉴얼에 제공된 몇 가지 예를 실험해 보겠습니다.
<?php //now为现在的当前时间 echo strtotime("now")."<br />"; //2000年9月10日 echo strtotime("10 September 2000")."<br />"; //当前时间加一天 echo strtotime("+1 day")."<br />"; //当前时间加一周 echo strtotime("+1 week")."<br />"; //当前时间加一周2天4小时2秒 echo strtotime("+1 week 2 days 4 hours 2 seconds")."<br />"; //下一个星期四 echo strtotime("next Thursday")."<br />"; //上一个星期一 echo strtotime("last Monday")."<br />"; ?>
위의 예를 통해 영어로 표현된 특정 시간에 일부 시간이 더해지거나 빠지는 것을 발견했습니다.