php中Date函数以及工夫戳函数及它们之间格局转换教程(附实例)
正在PHP网站开发建立中常常需求对日期、工夫进行解决,PHP提供了多种日期、工夫函数不便PHP开发者对日期、工夫进行较量争论、格局转换。
把握PHP日期函数十分须要,也为解决PHP日期函数与Mysql数据库日期之间的格局转换打下根底。
作为PHP日期函数的开篇教程,我以PHP实例教程引见PHP根底日期函数date以及Unix工夫戳函数和互相间日期格局的转换办法。
一、PHP日期时区设定
正在启用PHP日期函数以前,起首需求确保设定的时区是正确的,不然显示出的日期可能会有收支。正在PHP环境搭建时只要要正在PHP.INI设置装备摆设文件中设定date.timezone为相应的时区便可。
假如你不操作PHP.INI设置装备摆设文件的权益,可经过PHP时区函数date_default_timezone_get(void)猎取以后PHP运转环境的时区。
再应用date_default_timezone_set(string $timezone_identifier)函数设定相应的时区。
更多PHP支持的时区可查问http://www.php.net/manual/en/timezones.php。
二、PHP格局化日期函数Date
原型 string date(string $format[,int $timestamp])
$format - PHP日期函数date的格局代码
$timestamp - Unix工夫戳,默许为以后工夫戳(可选)
三、格局化字符 ———- 阐明 ——— 前往值形容以下:
日(Day)
d —— 月份中的第几天,前往2位数字 —— 01 到 31
j —— 月份中的第几天,1至9没有带零 ——1 到 31
S —— 每个月天数的英文后缀 —— 2个字符st,nd,rd或许th。能够以及j一同用
z —— 年份中的第几天 —— 0 到 366
礼拜(Week)
l —— 礼拜几 —— Sunday 到 Saturday
D —— 英文礼拜几,文本示意 —— 3个字母 Mon 到 Sun
N —— 以数字示意礼拜几(PHP 5.1.0 新加)—— 1(示意礼拜一)到 7(示意礼拜天)
w —— 礼拜中的第几天 —— 0(示意礼拜天)到 6(示意礼拜六)
W —— ISO-8601 格局年份中的第几周,每一周从礼拜一开端(PHP 4.1.0 新加的)—— 42(昔时的第 42 周)
月(Month)
F —— 月份 —— January 或许 March January 到 December
m —— 数字示意的月份 —— 01 到 12
M —— 三个字母缩写示意的月份 —— Jan 到 Dec
n —— 数字示意的月份 —— 1 到 12
t —– 月份天数 —— 28 到 31
年(Year)
L ——平年,以布尔值示意 —— 假如是平年为 1,不然为 0
o —— ISO-8601 格局年份数字。相似于 Y ,除了非 ISO 的礼拜数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加)—— 1999 or 2003
Y —— 四位数字完好示意的年份 —— 1999 或 2003
y —— 两位数字示意的年份 —— 99 或 03
工夫(Time)
a —— 上午以及下战书 —— am 或 pm
A —— 上午以及下战书 —— AM 或 PM
B —— Swatch Internet工夫 —— 000 到 999
g —— 小时,12 小时格局 —— 不前导零 1 到 12
G —— 小时,24 小时格局 —— 不前导零 0 到 23
h —— 小时,12 小时格局 —— 有前导零 01 到 12
H —— 小时,24 小时格局 —— 有前导零 00 到 23
i —— 分钟 —— 00 到 59
s —— 秒 —— 00 到 59
时区(Timezone)
e —— 时区标识(PHP 5.1.0 新加)—— UTC,GMT,Atlantic/Azores
I —— 能否为夏令时 —— 夏令时为 1,不然为 0
T —– 时区缩写 —— 例如:EST,MDT
Z —— 与以后时区的时区差,单元为秒 —— -43200 到 43200
完好的日期/工夫(Full Date/Time)
c —— ISO 8601 格局的日期(PHP 5 新加) —— 2004-02-12T15:19:21+00:00
r —— RFC 822 格局的日期 —— Thu, 21 Dec 2000 16:01:07 +0200
U —— 从1970 1.1到某时辰总的形容,即Unix工夫戳,参见 time()
PHP日期函数date格局化字符的英文文档请参考http://www.php.net/manual/en/function.date.php
date函数应用提醒:正在应用PHP日期函数date输入格局化的日期格局时,你能够经过起首写出你需求输入的日期格局后,再应用date日期函数中的格局化字符进行组合,应用起来会很患上心应手。
四、应用PHP日期函数date对Unix工夫戳进行格局转换
PHP date日期函数第二个可选参数$timestamp是以Unix工夫戳的方式存正在,经过这个参数能够将Unix工夫戳转换成相应的日期格局。应用Unix工夫戳正在参数通报,日期较量争论等方面益处不少,不便简约。
PHP中将日期转换成Unix工夫戳的罕用函数次要有mktime、time、strtotime。PHP日期函数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 ]]]]]]])
mktime函数的一切参数都是可选的,此中$is_dst示意能否为夏令时,当mktime函数参数都为空时,将默许为以后工夫,相似于time函数。
PHP日期函数time次要用来猎取以后工夫,以Unix工夫戳格局存正在。PHP日期函数strtotime次要用来将英文形容的日期工夫转换为 Unix 工夫戳。
原型以下
int strtotime(string $time[,int $now])
$time参数次要是以英文文本形容的方式存正在。
$now可选参数次要示意为$time较量争论日期工夫的一个基准,默许为以后Unix工夫戳。
PHP date日期函数次要用来转换输入各类日期格局,假如想要猎取日期以及工夫的各个局部,能够经过通报Unix工夫戳参数给getdate函数猎取,getdate函数会前往一个相干数组,数组键值以下:
seconds —- 秒数
minutes —- 分钟
hours —- 小时
mday —- 月份中日期
wday —- 礼拜几,0(示意礼拜天)到 6(示意礼拜六)
mon —- 月份
year —- 四位数字示意的完好年份
yday —- 一年中第几天
weekday —- 礼拜的文本示意,Sunday 到 Saturday
month —- 月份文本示意,January 到 December
0 —- 从Unix纪元开端至今的秒数,以及time()的前往值相似。
经过上述几个PHP Unix工夫戳函数,再合营PHP date日期函数能够进行各类日期格局转换、较量争论以及输入。
五、PHP日期较量争论实例
较量争论春秋
<?php $day = 1; $month = 1; $year = 1989; $birthday = mktime(0,0,0,$month,$day,$year); $nowunix = time(); $age = $nowunix - $birthday; $age = floor($age / (365*24*60*60)); echo $age; ?>
日期加减
<?php $nowUnix = time(); $addTime = $nowUnix + (24*60*60); //日期加一天 $redTime = $nowUnix - (24*60*60);//日期减一天 echo date("Y-m-j",$addTime); echo date("Y-m-j",$redTime); ?>
六、strtotime日期较量争论与格局转换实例
日期加减也能够经过strtotime函数实现
<?php $nowTime = strtotime("now"); echo date("Y-m-j",$nowTime)."<br/>"; $nowTime = strtotime("10 September 2010"); echo date("Y-m-j",$nowTime)."<br/>"; $nowTime = strtotime("+1 day"); echo date("Y-m-j",$nowTime)."<br/>"; $nowTime = strtotime("+1 week"); echo date("Y-m-j",$nowTime)."<br/>"; $nowTime = strtotime("+1 week 2 days 4 hours 2 seconds"); echo date("Y-m-j",$nowTime)."<br/>"; $nowTime = strtotime("next Thursday"); echo date("Y-m-j",$nowTime)."<br/>"; $nowTime = strtotime("last Monday"); echo date("Y-m-j",$nowTime)."<br/>"; ?>
至此,PHP日期函数date格局化字符含意和局部PHP Unix工夫戳函数的引见和互相间的转换以及格局化输入实例就引见完了,这对把握PHP日期、工夫函数的较量争论、与转换长短常须要的。心愿对PHP入门学习的冤家有所协助。
保举教程:《PHP视频教程》
以上就是php中Date函数以及工夫戳函数及它们之间格局转换教程(附实例)的具体内容,更多请存眷资源魔其它相干文章!
标签: php开发教程 php开发资料 php开发自学 Date函数 Unix时间戳函数