저번 글에서 "PHP에서 시간과 날짜 형식을 어떻게 지정하나요?"를 가져왔습니다. 시차를 계산하는 방법은 무엇입니까? "에서는 PHP에서 시간과 날짜의 형식을 지정하는 방법과 시차를 계산하는 방법을 자세히 소개합니다. 이번 글에서는 날짜와 타임스탬프의 상호 변환에 대해 살펴보겠습니다. 모두에게 도움이 되기를 바랍니다!
이전 글("PHP에서 시간을 구하는 방법 요약(상세 예시)")에서 시간, 즉 타임스탬프를 구하는 방법을 소개했는데, 타임스탬프를 어떻게 완성할 수 있는지와 날짜와 시간?
날짜와 시간을 타임스탬프로 변환
time()
함수를 통해서 얻을 수 있지만, time() 함수는 현재 시간의 시간만 얻을 수 있습니다 다른 시간대 Poke에서 예는 다음과 같습니다: time()
函数来获取时间戳,但是time()函数只能获取不同时区的当前时间的时间戳,示例如下:
<?php $time = time(); echo '当前的时间戳为:'.$time.'<br>'; ?>
输出结果:
当我们想要将一个具体的时间转化为时间戳,应该怎么操作呢?这时候我们可以使用strtotime()函数来实现。
<span style="font-size: 16px;"><strong>strtotime()</strong></span>
函数
strtotime()函数可将英文文本描述的任何字符串型的日期转化为 UNIX 时间戳,它的语法格式如下:
strtotime(字符串形式的时间 [,用来计算返回值的参数])
示例如下:
<?php echo time().'<br>';//当前时间的时间戳 echo strtotime('now').'<br>';//使用now获取的时间戳,也就是当前时间戳 echo strtotime("1 September 2021").'<br>';//2021年九月一日的时间戳 echo strtotime("+1 day").'<br>';//当前时间加上一天的时间戳 echo strtotime("+1 week 1 days 1 hours 1 seconds").'<br>';//当前时间加上一周一天一小时一秒的时间戳 echo strtotime("next Thursday").'<br>';//下周四的时间戳 echo strtotime("last Monday").'<br>';//上周一的时间戳 ?>
输出结果:
由上述示例能够看出,通过strtotime函数达到了具体时间转话时间戳的问题,接下来在介绍一种更直观的函数能够完成具体时间转化为时间戳。
<span style="font-size: 16px;"><strong>mktime()</strong></span>
函数
mktime()函数能够返回指定时间的时间戳,并且比strtotime函数要直观一些。它的语法格式如下:
mktime(指定时间时,指定时间分,指定时间秒,指定时间月,指定时间日,指定时间年)
示例如下:
<?php echo '当前的时间戳是:'.mktime(); // 没有设置参数则默认取得当前GMT时间 ?>
输出结果:
获得指定时间2021年10月21日15点0分0秒的UNIX时间戳,示例如下:
<?php echo '2021年10月21日15点0分0秒的时间戳是:'.mktime(15,0,0,10,21,2021); //设置参数表示GMT时间2021年10月21日15点0分0秒 ?>
输出结果:
由上述示例,也可以通过mktime函数来实现时间日期转化为时间戳。
上面介绍了都是日期转化为时间戳的函数方法,那接下来我们来看一看,时间戳怎样转化为我们习惯的时间日期。
时间戳转化日期时间
时间戳转化为日期时间需要用到date()
函数,这个函数用于把时间日期格式化,格式化的过程其实也可以看成是一个转化的过程。date()函数的语法格式如下:
date(转化后的时间格式,转化前的时间戳)
其中转化后的时间格式有很多种,先给大家列举出来一些:
H
---使用 24 小时格式表示小时数,零 00 到 23
m
---使用两位的数字表示当前月份 01 到 12
d
---表示月份中的第几天,要用两位数来表示,不足两位数的话,前面加个0。
Y
---使用 4 位数字表示完整的年份
s
---使用两位数字表示秒数,零 00 到 59i
<?php echo '1634799600转化为日期时间的年份为:',date('Y', 1634799600),'<br/>'; echo '1634799600转化为日期时间的月份为:',date('m', 1634799600),'<br/>'; echo '1634799600转化为日期时间的月内天数为:',date('d', 1634799600),'<br/>'; echo '1634799600转化为日期时间的小时数为:',date('H', 1634799600),'<br/>'; echo '1634799600转化为日期时间的小时内分钟数为:',date('i', 1634799600),'<br/>'; echo '1634799600转化为日期时间的分钟内秒数为:',date('s', 1634799600),'<br/>'; ?>출력 결과:
특정 시간을 타임스탬프로 변환하고 싶을 때 어떻게 해야 하나요? 이때 strtotime() 함수를 사용하여 이를 달성할 수 있습니다.
<span style="font-size: 16px;"><p>strtotime()<img src="https://img.php.cn/upload/image/166/748/796/1634803957572888.png" title="1634803957572888.png" alt="PHP 타임스탬프를 날짜와 시간으로 변환하는 가장 자세한 방법을 가르쳐주세요."></p></span>
function
<?php echo '1634799600转化为日期时间为:',date('Y-m-d H:i:s', 1634799600); ?>예제는 다음과 같습니다.
rrreee
출력 결과:🎜위의 예에서 볼 수 있듯이 특정 시간을 타임스탬프로 변환하는 문제는 strtotime 함수를 통해 이루어집니다. 다음으로 보다 직관적인 함수를 소개하겠습니다. 특정 시간의 변환을 완료할 수 있는 것은 타임스탬프입니다. 🎜<span style="font-size: 16px;">🎜mktime()🎜🎜</span>
🎜function🎜🎜🎜
date()
함수가 필요합니다. 이 함수는 시간과 날짜 형식을 지정하는 데 사용됩니다. 실제로 이는 변형 과정으로도 볼 수 있습니다. date() 함수의 구문 형식은 다음과 같습니다. 🎜rrreee🎜변환된 시간 형식이 많이 있습니다. 먼저 몇 가지를 나열하겠습니다. 🎜🎜H
---24시간 형식을 사용하여 시간을 나타냅니다. 00 ~ 23🎜🎜m
---현재 월을 나타내는 두 자리 숫자를 사용합니다. 01 ~ 12🎜🎜d
---월의 날짜를 나타냅니다. , 두 자리로 표현하려면 앞에 0을 붙입니다. 🎜🎜Y
---전체 연도를 나타내려면 4자리를 사용하십시오. 🎜🎜s
---초를 나타내려면 2자리를 사용하십시오(0 00 ~ 59🎜🎜). i
---2자리 숫자를 사용하여 분(000~59)을 나타냅니다.🎜🎜 다음으로 타임스탬프 1634799600을 실험해 보겠습니다. 이전 예에서 이 타임스탬프는 2021년 10월 21일 15:00:00입니다. 🎜🎜예는 다음과 같습니다. 🎜rrreee🎜출력 결과: 🎜🎜🎜🎜🎜🎜날짜 함수를 사용하면 일반적인 날짜와 시간을 출력할 수 있지만 여전히 우리의 일상 습관에는 맞지 않습니다. Just do it together에서 매개변수를 결합합니다. 예는 다음과 같습니다: 🎜rrreee🎜 출력 결과: 🎜🎜🎜🎜🎜🎜 이것으로 타임스탬프를 날짜와 시간으로 변환하는 작업이 완료되었습니다. 🎜🎜관심이 있으시면 "🎜PHP 비디오 튜토리얼🎜"을 클릭하여 PHP 지식에 대해 자세히 알아볼 수 있습니다. 🎜위 내용은 PHP 타임스탬프를 날짜와 시간으로 변환하는 가장 자세한 방법을 가르쳐주세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!