php에는 시간을 조작하는 방법이 있습니다. PHP는 다양한 날짜 및 시간 처리 방법을 제공합니다. 1. date()는 현지 날짜와 시간의 형식을 지정합니다. 2. mktime()은 날짜의 타임스탬프를 반환합니다. 3. idate()는 현지 시간의 형식을 정수로 지정합니다. 4. , strtotime(), 시간 문자열을 타임스탬프로 변환 등.
이 튜토리얼의 운영 환경: windows7 시스템, PHP7.1 버전, DELL G3 컴퓨터
php는 운영 시간 방식을 가지고 있습니다.
양식 제출 시간, 사용자 로그인 시간, 데이터베이스의 데이터 업데이트 및 삭제 시간 등 웹 개발에서는 날짜와 시간의 사용 및 처리가 필수적입니다. 이러한 작업이 수행되는 순간을 기록하려면 날짜와 시간을 통해 완료해야 합니다.
PHP는 다양한 날짜 및 시간 처리 기능을 제공합니다.
함수 | 설명 |
---|---|
checkdate() | 그레고리력 날짜를 확인합니다. |
date_add() | 날짜에 일, 월, 연도, 시, 분, 초를 추가하세요. |
date_create_from_format() | 지정된 형식에 따라 형식이 지정된 새 DateTime 객체를 반환합니다. |
date_create() | 새 DateTime 객체를 반환합니다. |
date_date_set() | 새 날짜를 설정하세요. |
date_default_timezone_get() | 모든 날짜/시간 함수에서 사용되는 기본 시간대를 반환합니다. |
date_default_timezone_set() | 모든 날짜/시간 함수에서 사용되는 기본 시간대를 설정합니다. |
date_diff() | 두 날짜의 차이를 반환합니다. |
date_format() | 지정된 형식에 따라 형식화된 날짜를 반환합니다. |
date_get_last_errors() | 날짜 문자열로 경고/오류를 반환합니다. |
date_interval_create_from_date_string() | 문자열의 해당 부분에서 DateInterval을 생성합니다. |
date_interval_format() | 시간 간격 형식을 지정합니다. |
date_isodate_set() | ISO 날짜를 설정합니다. |
date_modify() | 타임스탬프를 수정합니다. |
date_offset_get() | 시간대 오프셋을 반환합니다. |
date_parse_from_format() | 지정된 형식에 따라 지정된 날짜의 세부 정보가 포함된 연관 배열을 반환합니다. |
date_parse() | 지정된 날짜에 대한 세부 정보가 포함된 연관 배열을 반환합니다. |
date_sub() | 지정된 날짜에서 일, 월, 연도, 시, 분, 초를 뺍니다. |
date_sun_info() | 지정된 날짜 및 위치에 대한 일출/일몰 및 황혼 시작/황혼 종료에 대한 정보가 포함된 배열을 반환합니다. |
date_sunrise() | 지정된 날짜와 위치의 일출 시간을 반환합니다. |
date_sunset() | 지정된 날짜와 위치의 일몰 시간을 반환합니다. |
date_time_set() | 시간을 설정하세요. |
date_timestamp_get() | Unix 타임스탬프를 반환합니다. |
date_timestamp_set() | Unix 타임스탬프를 기준으로 날짜와 시간을 설정합니다. |
date_timezone_get() | 주어진 DateTime 객체의 시간대를 반환합니다. |
date_timezone_set() | DateTime 객체의 시간대를 설정합니다. |
date() | 현지 날짜 및 시간 형식을 지정합니다. |
getdate() | 타임스탬프의 날짜/시간 정보 또는 현재 현지 날짜/시간을 반환합니다. |
gettimeofday() | 는 현재 시간을 반환합니다. |
gmdate() | GMT/UTC 날짜 및 시간 형식을 지정합니다. |
gmmktime() | GMT 날짜의 UNIX 타임스탬프를 반환합니다. |
gmstrftime() | 로케일에 따라 GMT/UTC 날짜 및 시간 형식을 지정합니다. |
idate() | 현지 시간/날짜 형식을 정수로 지정합니다. |
localtime() | 현지 시간을 반환합니다. |
microtime() | 현재 Unix 타임스탬프의 마이크로초 수를 반환합니다. |
mktime() | 날짜의 Unix 타임스탬프를 반환합니다. |
strftime() | 로캘 설정에 따라 현지 시간/날짜 형식을 지정합니다. |
strptime() | strftime()에 의해 생성된 시간/날짜를 구문 분석합니다. |
strtotime() | 영어 텍스트 날짜 또는 시간 설명을 Unix 타임스탬프로 구문 분석합니다. |
time() | 현재 시간의 Unix 타임스탬프를 반환합니다. |
timezone_abbreviations_list() | 일광 절약 시간, 오프셋 및 시간대 이름이 포함된 연관 배열을 반환합니다. |
timezone_identifiers_list() | 모든 시간대 식별자가 포함된 숫자 배열을 반환합니다. |
timezone_location_get() | 지정된 시간대의 위치 정보를 반환합니다. |
timezone_name_from_ abbr() | 시간대 약어를 기준으로 시간대 이름을 반환합니다. |
timezone_name_get() | 시간대 이름을 반환합니다. |
timezone_offset_get() | GMT를 기준으로 시간대 오프셋을 반환합니다. |
timezone_open() | 새 DateTimeZone 개체를 만듭니다. |
timezone_transitions_get() | 시간대에 대한 모든 전환을 반환합니다. |
timezone_version_get() | 시간대 데이터베이스의 버전을 반환합니다. |
다음은 몇 가지 시간 및 날짜 처리 방법에 대한 간략한 소개입니다.
1. PHP로 현재 시간 가져오기(5가지 방법)
날짜 및 시간 함수에서는 UNIX 타임스탬프를 가져오는 것이 매우 중요합니다. 타임스탬프는 일련의 문자입니다. GMT 1970년 1월 1일 00:00:00(베이징 시간 1970년 1월 1일 08:00:00)부터 현재까지의 총 밀리초 수를 나타냅니다. 현재 시간을 가져오는 몇 가지 함수는 다음과 같습니다.
gmmktime()
gmmktime() 함수는 GMT 날짜의 UNIX 타임스탬프를 가져올 수 있습니다. 구문은 다음과 같습니다:
int gmmktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )
이 함수의 매개변수는 오른쪽에서 왼쪽으로 비워 둘 수 있으며, 빈 매개변수는 해당 현재 GMT 값으로 설정됩니다.
사용 예는 다음과 같습니다.
<?php echo gmmktime(); //没有设置参数, 则默认取得当前GMT时间 echo gmmktime(0,45,3,7,7,2016); //设置参数表示GMT时间2016年7月7日0点45分3秒 ?>
위 프로그램을 실행하여 인쇄된 결과는 다음과 같습니다.
1467909956 1467852303
mktime()
mktime() 날짜의 UNIX 타임스탬프도 얻을 수 있습니다. 구문은 다음과 같습니다.
int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )
이 함수는 주어진 인수를 기반으로 UNIX 타임스탬프를 반환합니다. 타임스탬프는 UNIX 시대부터 주어진 시간까지의 시간(초)을 포함하는 긴 정수입니다.
gmmktime() 함수와 마찬가지로 이 함수의 매개변수도 오른쪽에서 왼쪽으로 생략할 수 있습니다. 생략된 매개변수는 현지 날짜 및 시간의 현재 값으로 설정됩니다.
사용 예는 다음과 같습니다.
<?php echo mktime(); // 没有设置参数则默认取得当前GMT时间 echo mktime(0,45,3,7,7,2016); //设置参数表示GMT时间2016年7月7日0点45分3秒 ?>
위 프로그램을 실행하면 인쇄된 결과는 다음과 같습니다.
1467910465 1467852303
microtime()
microtime()은 현재 UNIX 타임스탬프와 마이크로초를 가져올 수 있습니다. 구문은 다음과 같습니다.
mixed microtime ([ bool $get_as_float ] )
get_as_float 매개변수 값을 true로 설정하면 microtime()은 부동 소수점 숫자를 반환합니다. 매개변수가 없으면 "msec sec" 형식의 문자열을 반환합니다. 여기서 sec는 다음과 같습니다. UNIX 시대부터 현재까지의 초 수, msec는 마이크로초 부분입니다. 문자열의 두 부분 모두 초 단위로 반환됩니다.
사용 예는 다음과 같습니다.
<?php echo microtime(); //返回 msec sec 格式字符串表示时间 echo "<br/>"; echo microtime(true); //返回一个浮点型字符串表示时间 ?>
위 프로그램을 실행하여 인쇄된 결과는 다음과 같습니다.
0.40474900 1467910862 1467910862.4048
time()
time() 함수는 현재 UNIX 타임스탬프를 반환할 수 있습니다. 구문은 다음과 같습니다.
int time ( void )
time() 함수 구문은 비교적 간단합니다. 사용 예는 다음과 같습니다.
<?php echo time(); ?>
위 프로그램을 실행한 결과는 다음과 같습니다.
1467911104
getdate()
getdate()는 날짜와 시간 정보를 얻을 수 있습니다. 구문은 다음과 같습니다.
array getdate ([ int $timestamp = time() ] )
이 함수는 타임스탬프를 기준으로 날짜 정보가 포함된 연관 배열 배열을 반환합니다. 타임스탬프가 제공되지 않으면 현재 현지 시간으로 간주됩니다(time() 함수와 동일한 값).
반환된 연관 배열의 키 이름 단위는 표와 같습니다.
키 이름 | 설명 | 반환 값 예 |
---|---|---|
초 | 초 숫자 표현 | 0 ~ 59 |
분 | 분 | 0~59 |
hours | 시간의 숫자 표현 | 0~23 |
mday | 일의 숫자 표현 | 1~31 |
wday | day 주 1 주일의 수 (일요일) ~ 6 (토요일) | |
월 1 일 ~ 12 세의 수의 수 숫자 전체 연도 | 예: 1999 또는 2019 | |
연도의 숫자 표현 | 0 ~ 365 | |
요일의 전체 텍스트 표현 | Monday to Sunday | |
월의 전체 텍스트 표현(예: 1월 또는 4월) | January to 12월 | |
UNIX epoch 이후의 초 수 및 반환 값 time() 및 date() 값은 | 시스템에 따라 다르지만 일반적인 값은 -2147483648 ~ 2147483647 |