找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1856|回复: 0

[教程] PHP日期时间函数的高级应用技巧

[复制链接]
发表于 2013-4-2 21:04:05 | 显示全部楼层 |阅读模式 来自 中国–广东–揭阳

  1. <p> </p>
复制代码
[code]PHP的日期时间函数date()中介绍了PHP日期时间函数的简单用法,这类将介绍更多的函数来丰富我们的应用。

checkdate($month,$date,$year)

如果应用的值构成一个有效日期,则该函数返回为真。例如,对于错误日期2005年2月31日,此函数返回为假。

在日期用于计算或保存在数据库中之前,可用此函数检查日期并使日期生效。
<?php
// returns false
echo checkdate(2,30,2005) ? 'valid' : 'invalid';
// returns true
echo checkdate(4,6,2010) ? 'valid' : 'invalid';
?>
getdate($ts)

在没有自变量的情况下,该函数以结合数组的方式返回当前日期与时间。数组中的每个元素代表日期/时间值中的一个特定组成部分。可向函数提交可选的时间标签自变量,以获得与时间标签对应的日期/时间值。

应用此函数来获得一系列离散的,容易分离的日期/时间值。





            <?php
             // get date as associative array
             $arr = getdate();
             echo 'Date is ' . $arr['mday'] . ' ' . $arr['weekday'] . ' ' . $arr['year'];
             echo 'Time is ' . $arr['hours'] . ':' . $arr['minutes'];
             ?>


mktime($hour, $minute, $second, $month, $day, $year)

此函数的作用与getdate()的作用相反:它由一系列的日期与时间值生成一个UNIX时间标签(GMT时间1970年1月1日到现在消逝的秒数)。不用自变量时,它生成当前时间的UNIX时间标签。

用此函数获得即时时间的UNIX时间标签。这种时间标签通常用于许多数据库与程序语言中。





            <?php
             // returns times**p for 13:15:23 7-Jun-2006
             echo mktime(13,15,23,6,7,2006);
             ?>


date($format, $ts)

此函数将UNIX时间标签格式化成一个可人为阅读的日期字符串。它是PHP日期/时间API**能最为强大的函数,可用在一系列的修正值中,将整数时间标签转变为所需的字符串格式。

为显示格式化时间或日期时,应用此函数。





            <?php
             // format current date
             // returns '13-Sep-2005 01:16 PM'
             echo date('d-M-Y h:i A', mktime());
             ?>


strtotime($str)

此函数将可人为阅读的英文日期/时间字符串转换成UNIX时间标签。

应用此函数将非标准化的日期/时间字符串转换成标准、兼容的UNIX时间标签。





            <?php
             // returns 13-Sep-05
             echo date('d-M-y', strtotime('today'));
             // returns 14-Sep-05
             echo date('d-M-y', strtotime('tomorrow'));
             // returns 16-Sep-05
             echo date('d-M-y', strtotime('today +3 days'));
             ?>


strftime($format,$ts)

如前面的setlocale()函数定义的那样,此函数将UNIX时间标签格式化成适用于当前环境的日期字符串。

应用此函数建立与当前环境兼容的日期字符串。





            <?php
             // set locale to France (on Windows)
             setlocale(LC_TIME, 'fra_fra');
            
             // format month/day names
             // as per locale setting
             // returns 'septembre' and 'mardi'
            
             echo strftime('Month: %B ');
             echo strftime('Day: %A ');
             ?>


microtime()

如前面的setlocale()函数定义的那样,此函数将UNIX时间标签格式化成适用于当前环境的日期字符串。

应用此函数建立与当前环境兼容的日期字符串。





            <?php
             // get starting value
             $start = microtime();
            
             // run some code
             for ($x=0; $x<1000; $x++) {
             $null = $x * $x;
             }
            
             // get ending value
             $end = microtime();
            
             /%

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-22 15:56 , Processed in 0.048389 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表