php (二十一)日期和时间

来源:互联网 发布:手机炸金花源码 编辑:程序博客网 时间:2024/04/27 14:52

PHP提供了很多的处理日期和时间的函数,包括time()、date()、mktime()、checkdate()、microtime()、strtotime()等等,详细的日期时间函数列表可以查看PHP的手册。


1. time()

  首先来说time()函数,它返回当前的UNIX时间戳。什么是UNIX时间?这个...说实话,有些东西明白还真的说不上来。所谓的UNIX时间戳是从Unix 纪元  (格林威治时间1970年1月1日00:00:00)到当前时间的秒数。 time()函数的实例很简单,直接调用该函数就可以,

 示例:

<?php echo time(); // return "1264668961" ?>

2.date()

 毕竟UNIX时间戳对于我们人类来说可读性很差,所以要想使当前时间变得人们可读就要用到date()函数。date函数的原型如下:

date() 函数的第一个参数规定了如何格式化日期/时间。它使用字母来表示日期和时间的格式。这里列出了一些可用的字母:

  • d - 月中的天 (01-31)
  • m - 当前月,以数字计 (01-12)
  • Y - 当前的年(四位数)

   示例:

   

<?phpecho date("Y/m/d");echo "<br />";echo date("Y.m.d");echo "<br />";echo date("Y-m-d");?>

输出:

2013/11/212013.11.212013-11-21

3.mktime()

mktime() 函数返回一个日期的 Unix 时间戳。 

参数说明:
hour (可选) 规定小时。 
minute (可选)   规定分钟。 
second (可选)   规定秒。 
month (可选)    规定用数字表示的月。 
day (可选)      规定天。 
year (可选)     规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。 
is_dst (可选)   如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1。

参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。
参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。

注释:
自 5.1.0 起,is_dst 参数被废弃。因此应该使用新的时区处理特性。
自 5.1.0 器,该函数自动校正越界的输入,而之前的版本会返回false

mktime() 函数对于日期运算和验证非常有用。它可以自动校正越界的输入

示例:

<?phpecho(date("M-d-Y",mktime(0,0,0,12,36,2001)));echo(date("M-d-Y",mktime(0,0,0,14,1,2001)));echo(date("M-d-Y",mktime(0,0,0,1,1,2001)));echo(date("M-d-Y",mktime(0,0,0,1,1,99)));?>

输出:
Jan-05-2002
Feb-01-2002
Jan-01-2001
Jan-01-1999

 

4. checkdate()

checkdate() 函数验证一个格里高里日期。

如果指定的值合法,则该函数返回 true,否则返回 false。

日期在下列情况下为合法:

  • month 介于且包括 1 - 12
  • Day 的值在给定的 month 所应该具有的天数范围之内,闰年已经考虑进去了。
  • year 介于且包括 1 到 32767
     

     语法   

checkdate(month,day,year)

   参数

 

参数描述month必需。规定月。day必需。规定日。year必需。规定年。

     示例 :

  

<?phpvar_dump(checkdate(12,31,2000));var_dump(checkdate(2,29,2003));var_dump(checkdate(2,29,2004));?>
输出:

 bool(true)

 bool(false)

 bool(true)