首页 > 代码库 > php基础知识总结(4)时间函数date

php基础知识总结(4)时间函数date

一、time() -- 返回当前的 Unix 时间戳

       $nextWeek = time() + (7 * 24 * 60 * 60);

       echo ‘Next Week: ‘. date(‘Y-m-d‘, $nextWeek) ."\n";

 

二、mktime(时/分/秒/月/天/年) -- 取得一个日期的 Unix 时间戳

       echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));  //Jan-01-1998

       echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));   //Jan-01-1998

       echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));    //Jan-01-1998

       echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));      //Jan-01-1998

 

三、strtotime--将任何英文文本的日期时间描述解析为 Unix 时间戳

       $time=time();

       echo strtotime("now"), "\n";

       echo strtotime("10 September 2000"), "\n";

       echo strtotime("+1 day",$time), "\n";

       echo strtotime("+1 week",$time), "\n";

       echo strtotime("+1 week 2 days 4 hours 2 seconds",$time), "\n";

       echo strtotime("next Thursday",$time), "\n";

       echo strtotime("last Monday",$time), "\n";

 

四、date -- 格式化一个本地时间/日期

       1、年

              Y--4位数字完整表示的年份,例如:1999

              y--2位数字表示的年份,例如:99

              L--是否为闰年,如果是闰年为 1,否则为 0

       2、月

              M--三个字母缩写表示的月份,Jan 到 Dec

              m--数字表示的月份,有前导零,01 到 12

              F--月份,January 到 December

              n--数字表示的月份,没有前导零,1 到 12

              t--给定月份所应有的天数,28 到 31

       3、日

              d--月份中的第几天,有前导零的 2 位数字,01 到 31

              S--每月天数后面的英文后缀,2 个字符,st,nd,rd 或者 th。

       4、星期

              D--星期中的第几天,文本表示,3 个字母,Mon 到 Sun

              l(“L”的小写字母)--星期几,Sunday 到 Saturday

              N--星期中的第几天,1(表示星期一)到 7(表示星期天)

              w[小写]--星期中的第几天,数字表示,0(表示星期天)到 6(表示星期六)

       5、

              z--年份中的第几天,0 到 366

              W[大写]--年份中的第几周,每周从星期一开始,例如:42(当年的第 42 周)

       6、时间

              a--小写的上午和下午值,am 或 pm

              A--大写的上午和下午值,AM 或 PM

              g--小时,12 小时格式,没有前导零

              G--小时,24 小时格式,没有前导零

              h--小时,12 小时格式,有前导零

              H--小时,24 小时格式,有前导零

              i--有前导零的分钟数

              s--秒数,有前导零

       7、设定默认时区 

              date_default_timezone_set(‘UTC‘);

      

       // 假定今天是:2001.3.10, 5:16:18 pm

       $today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm

       $today = date("m.d.y");                         // 03.10.01

       $today = date("j, n, Y");                       // 10, 3, 2001

       $today = date("Ymd");                           // 20010310

       $today = date(‘h-i-s, j-m-y, it is w Day z ‘);  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01

       $today = date(‘\i\t \i\s \t\h\e jS \d\a\y.‘);   // It is the 10th day.

       $today = date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001

       $today = date(‘H:m:s \m \i\s\ \m\o\n\t\h‘);     // 17:03:17 m is month

       $today = date("H:i:s");                         // 17:16:17

      

      

五、getdate -- 取得日期/时间信息

       $today = getdate();

       print_r($today);

              Array(

                     [seconds] => 40

                     [minutes] => 58

                     [hours]   => 21

                     [mday]    => 17  //月份中第几天的数字表示

                     [wday]    => 2    //星期中第几天的数字表示 0(表示星期天)到 6(表示星期六)

                     [mon]     => 6   //月份的数字表示

                     [year]    => 2003

                     [yday]    => 167  //一年中第几天的数字表示

                     [weekday] => Tuesday

                     [month]   => June

                     [0]       => 1055901520

              )

 

gettimeofday -- 取得当前时间

       print_r(gettimeofday());

              Array(

                     [sec] => 1073504408  //自 Unix 纪元起的秒数

                     [usec] => 238215     //微秒数

                     [minuteswest] => 0   //格林威治向西的分钟数

                     [dsttime] => 1       //夏令时修正的类型

              )

       echo gettimeofday(true);//1073504408.23910,当其设为TRUE时,会返回一个浮点数。

 

 

六、localtime -- 取得本地时间

       $localtime_assoc = localtime(time(), true);//如果不要true,索引将用数字表示

       print_r($localtime_assoc);

       Array(

              [tm_sec] => 24   //秒数

              [tm_min] => 3    // 分钟数

              [tm_hour] => 19  //小时

              [tm_mday] => 3   //月份中的第几日

              [tm_mon] => 3    //年份中的第几个月,从 0 开始表示一月

              [tm_year] => 105  //年份,从 1900 开始

              [tm_wday] => 0    //星期中的第几天,从 0(星期天)到 6(星期六)

              [tm_yday] => 92   //一年中的第几天

              [tm_isdst] => 1   //夏令时当前是否生效

       )