>  기사  >  백엔드 개발  >  PHP로 현재 시간을 얻는 방법

PHP로 현재 시간을 얻는 방법

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-08-30 10:00:0715370검색

PHP로 현재 시간을 얻는 방법

1. 현재 타임스탬프 가져오기

방법 1: 시간 함수를 통해

time();

방법 2: $_SERVER의 REQUEST_TIME 요소를 통해

$_SERVER['REQUEST_TIME'];

방법 3: strtotime 함수를 통해

rrre 에에

2. 현재 시간 가져오기

날짜 함수를 통해 타임스탬프 형식 지정

strtotime('now');

3. 시간대 문제

위의 모든 방법에는 시간대 문제가 있습니다. 구체적인 해결 방법:

방법 1: php.ini를 다음으로 변경 중국 시간대

echo date('Y-m-d h:i:s', time()); // 2018-10-3 15:57:05

방법 2: PHP 파일

date.timezone = PRC

에서 중국 시간대를 임시로 설정합니다. 관련 권장 사항: "PHP Tutorial"

php를 사용하여 현재 시간과 타임스탬프를 가져옵니다

가장 먼저 해야 할 일은 알아야 할 것은 PHP에서 시간을 얻는 방법은 date()이고, PHP에서 타임스탬프를 얻는 방법에는 time()과 strtotime()이 있다는 것입니다. 다음은 각각 설명됩니다.

date() 형식은 날짜($format, $timestamp), 형식은 형식, 타임스탬프는 타임스탬프(선택 사항)입니다.

time()은 인수 없이 현재 시간의 Unix 타임스탬프를 반환합니다.

strtotime($time, $now) 영어 텍스트 날짜/시간 설명을 Unix 타임스탬프로 구문 분석합니다. $time은 필수이며 구문 분석할 시간 문자열을 지정합니다. $now는 반환 값의 타임스탬프를 계산하는 데 사용됩니다. 이 매개 변수가 생략되면 현재 시간이 사용됩니다.

date($format) 사용 예:

date_default_timezone_set('PRC');

이것은 단지 몇 가지 예일 뿐이며 형식 변경일 뿐입니다. 다음은 문자열 형식에서 각 문자의 의미입니다.

a - "am" 또는 " pm"

A - "AM" 또는 "PM"

d - 일, 두 자리, 두 자리 미만인 경우 앞에 0을 추가합니다. 예: "01" ~ "31"

D - 일 주, 세 개의 영어 문자(예: "Fri"

F - 월, 전체 영어 이름: "January"

h - 시간(예: "01" ~ "12)) "

H - 24시간 형식 시간, 예: "00" ~ "23"

g - 12시간 형식의 시간, 두 자리 미만인 경우 0을 추가하지 마세요. 예: "1" ~ 12"

G - 24시간 형식의 시간, 두 자리 미만인 경우 0을 추가하지 마십시오. 0을 채웁니다. 예: "0" ~ "23"

i - 분: 예: "00 " ~ "59"

j - 일, 두 자리, 두 자리 미만인 경우 0이 추가되지 않습니다. 예: "1 " ~ "31"

l - 요일, 전체 영어 이름 ; 예: "Friday"

m - 월, 두 자리, 두 자리 미만인 경우 앞에 0을 추가합니다. 예: "01" ~ "12"

n - 월, 두 자리(있는 경우) 두 자리 미만이면 0이 추가되지 않습니다. 예: "1" ~ "12"

M - 월, 세 개의 영어 문자: 예: "Jan"

s - 초; "59"

S - 단어 끝에 영어 서수(예: "th", "nd"

t)를 추가합니다. "28" - "31 "

U - 총 초

w - 숫자 요일(예: "0"(일요일) - "6"(토요일)

Y - 연도, 4자리; : "1999"

y - 연도, 두 자리 숫자: "99"

z - 연도의 일: "0" ~ "365"

time() 사용 예:

echo date('Y-m-d');输出结果:2018-10-03
echo  date('Y-m-d H:i:s');输出结果:2018-10-03 23:00:00
echo  date('Y-m-d', time());输出结果:2018-10-03 23:00:00(结果同上,只是多了一个时间戳参数)
(时间戳转换为日期格式的方法)
echo  date('Y').'年'.date('m').'月'.date('d').'日',输出结果:2018年10月3日

위의 예는 너무 많아서 스스로 더 많은 것을 조사할 수 있습니다. strtotime() 메서드는 영어 텍스트를 통해 Unix 타임스탬프 표시를 제어하고 필요한 시간 및 날짜 형식을 얻을 수 있습니다.

php는 현재 시간의 밀리초를 가져옵니다.

PHP 자체는 밀리초 수를 반환하는 함수를 제공하지 않지만 두 요소가 포함된 배열을 반환하는 microtime() 메서드를 제공합니다. 하나는 초 수이고 다른 하나는 밀리초 수입니다. 이 방법을 통해 반환된 값을 얻을 수 있습니다. 밀리초 수, 방법은 다음과 같습니다.

time();输出结果:1332427715(返回的结果即当前的时间戳)
strtotime($time)用法举例:
echo strtotime('2012-03-22');输出结果:1332427715(此处结果为随便写的,仅作说明使用)
echo strtotime(date('Y-d-m'));输出结果:(结合date(),结果同上)(时间日期转换为时间戳)
strtotime()还有个很强大的用法,参数可加入对于数字的操作、年月日周英文字符,示例如下:
echo date('Y-m-d H:i:s',strtotime('+1 day'));输出结果:2012-03-23 23:30:33(会发现输出明天此时的时间)
echo date('Y-m-d H:i:s',strtotime('-1 day'));输出结果:2012-03-21 23:30:33(昨天此时的时间)
echo date('Y-m-d H:i:s',strtotime('+1 week'));输出结果:2012-03-29 23:30:33(下个星期此时的时间)
echo date('Y-m-d H:i:s',strtotime('next Thursday'));输出结果:2012-03-29 00:00:00(下个星期四此时的时间)
echo date('Y-m-d H:i:s',strtotime('last Thursday'));输出结果:2012-03-15 00:00:00(上个星期四此时的时间)

구한 현재 시간과 실제 시간의 차이를 8시간으로 풀이

실제 개발 시, 획득한 시간이 현재 시스템의 실제 시간과 8시간 차이가 나는 경우가 종종 있습니다. 이는 시간대 설정 문제로 인해 발생하며, 이 문제에 대한 해결 방법은 다음과 같습니다.

1. php.ini에서 .timezone을 입력하고 해당 값을 Asia/Shanghai로 변경합니다. 즉, date.timezone = Asia/Shanghai(현재 시간대는 Asia Shanghai 시간대로 설정됩니다.)

2.date_default_timezone_set('Asia/ 상하이');

위 내용은 PHP로 현재 시간을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.