PHP中的date()函数

林继 PHP 技术 5,348 共写了746个字 (2006-12-19 18:57:05) 没有评论 打印 扫描二维码 百度已收录

From:http://www.blogjava.net/nayanliu/archive/2005/05/18/4812.aspx

函数原形是

string date ( string format [, int timestamp] )

返回 format 格式的时间字符串。参数 format 请参见官方文档

http://php.liukang.com/manual/zh/function.date.php,一般我们用 “Y-m-d” 或者 “Y-m-d H:i:s”。参数 timestamp 是可选的,留空时等同于 time() 。

简单的例子:

  1. <?php 
  2.     echo date("Y-m-d");    //输出:2005-05-18 
  3. ?>

更复杂有用的例子:(英文档出自php.net)

carlj at vibez dot ca
17-Jun-2003 03:28
Why not do something like this, to find the number of days in a month?

$monthNum = date(“n”); // or any value from 1-12
$year = date(“Y”); // or any value >= 1
$numDays = date(“t”,mktime(0,0,0,$monthNum,1,$year))

This will tell you if there is 28-31 days in a month

可用该方法求某年某月有多少天。

我综合一下,得到的例子:

  1. <?php 
  2.  echo date("t",mktime(0,0,0,date("5"),1,date("2005")));  //输出:31 
  3. ?>

这不是写程序的好习惯,我们应当把它写成一个函数,以备将来用。

  1.  <?php 
  2.  //求 $y 年 $m 月有多少天的函数 
  3.  function days_in_a_month($y,$m) 
  4.  { 
  5.        if($year<1901 or $year>2038) 
  6.                  return;    //超出了PHP的时间范围 
  7.        else  { 
  8.                $mon=date($m); 
  9.                $year=date($y); 
  10.               $mkt=mktime(0,0,0,$mon,1,$year); 
  11.               return date("t",$mkt); 
  12.       } 
  13. } 
  14. ?>

有趣的是,我发现月份其实可以填大于12的数字,象下面这样:

  1. <?php 
  2. echo  days_in_a_month(2003,14);  //输出:29 
  3. ?>

你知道,14月就是来年的2月。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >