使用PHP的日期与时间函数提高开发技巧

不管他们是习惯显示当前服务器时间还是记录下一个数据库条目实例,对任何网络开发人员来说,PHP的日期与时间函数都是他们工具包的一个重要组成部分。

但任何工具都需要人来支配才能发挥优点。

这就是我写这篇文章的原因所在。下表(表A)列出了PHP中的一些最重要的日期与时间函数,并提供清楚的使用说明。

不断阅读,你会学到新的东西!

表A


功能


说明


实例


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

// returns timestamp for

13:15:23

7-Jun-2006

echo mktime(13,15,23,6,7,2006);

?>


mktime($hour,

$minute,

$second,

$month, $day,

$year)


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

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


<?php

// returns timestamp 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()


此函数返回GMT时间1970年1月1日到现在所消逝的秒数与微秒数。

在基准特定的代码块,准确测量它的执行时间时应用此函数。


<?php

// get starting value

$start = microtime();

// run some code

for ($x=0; $x<1000; $x++) {

牋?$null = $x * $x;

}

// get ending value

$end = microtime();

// calculate time taken for

code

execution

echo "Elapsed time: " . ($end -

$start) ." sec";

?>


gmmktime

($hour,

$minute,

$second,

$month, $day,

$year)


此函数由一系列用GMT时间表示的日期与时间值生成一个UNIX时间标签。不用自变量时,它生成一个当前GMT即时时间的UNIX时间标签。

用此函数来获得GMT即时时间的UNIX时间标签。


<?php

// returns timestamp for

12:25:23

9-Jul-2006

echo gmmktime

(12,25,23,7,9,2006);

?>


gmdate

($format,

$ts)


此函数将UNIX时间标签格式化成可人为阅读的日期字符串。此日期字符串以GMT(非当地时间)表示。

用GMT表示时间标签时应用此函数。


<?php

// format current date into GMT

// returns "13-Sep-2005 08:32

AM"

echo gmdate("d-M-Y h:i A",

mktime());

?>


date_default_

timezone_set

($tz)and

date_default_

timezone_get()


此函数此后所有的日期/时间函数调用设定并恢复默认的时区。

注:此函数仅在PHP 5.1+中有效。

此函数是一个方便的捷径,可为以后的时间操作设定时区。


<?php

// set timezone to UTC

date_default_timezone_set

('UTC');

?>

时间: 2024-09-08 09:32:10

使用PHP的日期与时间函数提高开发技巧的相关文章

php Mysql日期和时间函数集合_php技巧

收集的比较全的Mysql日期和mysql时间函数DATE_FORMAT(date,format)  根据format字符串格式化date值.下列修饰符可以被用在format字符串中: %M 月名字(January--December)  %W 星期名字(Sunday--Saturday)  %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等.)  %Y 年, 数字, 4 位  %y 年, 数字, 2 位  %a 缩写的星期名字(Sun--Sat)  %d 月份中的天数, 数字(00

Sql Server中的日期与时间函数

Sql Server中的日期与时间函数: 1.  当前系统日期.时间     select getdate()  2. dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值:   例如:向日期加上2天    select dateadd(day,2,'2004-10-15')  --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的日期和时间边界数:   select datediff(day,'2004-09-01'

asp之日期和时间函数示例

函数|示例 asp之日期和时间函数示例 可以使用日期和时间函数来得到各种格式的日期和时间 函数 语法 说明 示例 Now Now() 取得系统当前的日期和时间 Dim MyVar MyVar = Now' MyVar 包含当前的日期和时间. Date Date() 取得系统当前的日期 Dim MyDate MyDate = Date' MyDate 包含当前系统日期. Time Time() 取得系统当前的时间 Dim MyTime MyTime = Time ' 返回当前系统时间. Year

WPS表格日期与时间函数

(一)日期与时间函数 1.DATE 用途:返回代表特定日期的序列号. 语法:DATE(年,月,日) 参数:年, 为一到四位,根据使用的日期系统解释该参数.默认情况下,WPS表格使用1900 日期系统.月,代表每年中月份的数字.如果所输入的月份大于12,将从指定年份的一月份执行加法运算.Day 代表在该月份中第几天的数字.如果 day 大于该月份的最大天数时,将从指定月份的第一天开始往上累加. 注意:WPS表格按顺序的序列号保存日期,这样就可以对其进行计算.如果工作簿使用的是1900 日期系统,则

Excel函数详解日期和时间函数

1.Excel日期和时间函数:DATE [用途]返回代表特定日期的序列号. [语法]DATE(year,month,day) [参数]year 为一到四位,根据使用的日期系统解释该参数.默认情况下,Excel for Windows 使用 1900 日期系统,而 Excel for Macintosh 使用 1904 日期系统.Month 代表每年中月份的数字.如果所输入的月份大于 12,将从指定年份的一月份执行加法运算.Day 代表在该月份中第几天的数字.如果 day 大于该月份的最大天数时,

Excel日期和时间函数

日期和时间函数 DATE 返回特定时间的系列数 DATEDIF 计算两个日期之间的年.月.日数 DATEVALUE 将文本格式的日期转换为系列数 DAY 将系列数转换为月份中的日 DAYS360 按每年360天计算两个日期之间的天数 EDATE 返回在开始日期之前或之后指定月数的某个日期的系列数 EOMONTH 返回指定月份数之前或之后某月的最后一天的系列数 HOUR 将系列数转换为小时 MINUTE 将系列数转换为分钟 MONTH 将系列数转换为月 NETWORKDAYS 返回两个日期之间的完

Sql Server函数全解&lt;四&gt;日期和时间函数

原文:Sql Server函数全解<四>日期和时间函数   日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外,也可以使用datetime类型的参数,但会忽略这些值的时间部分.相同的,以time类型值为参数的函数,可以接受datetime类型的参数,但会忽略日期部分. 1.获取系统当前日期的函数getDate();  getDate()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime.[例]sel

Mysql日期和时间函数总结

一.MySQL 获得当前日期时间函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now() | +---------------------+ | 2008-08-08 22:20:46 | +---------------------+ 除now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp() current_time

SqlServer中的日期与时间函数_MsSql

一.Sql Server中的日期与时间函数 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的日期和时间边界数. select datediff(day,'2004-09-01','2004-09-18')