PHP时间戳函数总结

PHP语言中的函数有许多种,各类应用方式不一样,实现的功能也不尽相同。咱们在本文种为你们总结了PHP时间戳函数,但愿能做为参考学习对象。 php

一,PHP时间戳函数获取指定日期的unix时间戳 strtotime(”2009-1-22″) 示例以下: html

echo strtotime(”2009-1-22″) 结果:1232553600 vim

说明:返回2009年1月22日0点0分0秒时间戳 函数

二,PHP时间戳函数获取英文文本日期时间 示例以下: 学习

便于比较,使用date将当时间戳与指定时间戳转换成系统时间 spa

(1)打印明天此时的时间戳strtotime(”+1 day”) unix

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25 code

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”+1 day”)) 结果:2009-01-23 09:40:25 htm

(2)打印昨天此时的时间戳strtotime(”-1 day”) 对象

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”-1 day”)) 结果:2009-01-21 09:40:25

(3)打印下个星期此时的时间戳strtotime(”+1 week”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”+1 week”)) 结果:2009-01-29 09:40:25

(4)打印上个星期此时的时间戳strtotime(”-1 week”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”-1 week”)) 结果:2009-01-15 09:40:25

(5)打印指定下星期几的时间戳strtotime(”next Thursday”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”next Thursday”)) 结果:2009-01-29 00:00:00

(6)打印指定上星期几的时间戳strtotime(”last Thursday”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”last Thursday”)) 结果:2009-01-15 00:00:00

以上PHP时间戳函数示例可知,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,咱们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所须要的日期时间。

示例:

?
<?php
 
/***************************************************************************
 *
 * Copyright (c) 2011 Baidu.com, Inc. All Rights Reserved
 * $Id$
 *
 **************************************************************************/
 
 
 
//时间戳转日期
$date_time_array=getdate(1297845628);//1311177600  1316865566
$hours=$date_time_array["hours"];
$minutes=$date_time_array["minutes"];
$seconds=$date_time_array["seconds"];
$month=$date_time_array["mon"];
$day=$date_time_array["mday"];
$year=$date_time_array["year"];
 
echo"year:$year\nmonth:$month\nday:$day\nhour:$hours\nminutes:$minutes\nseconds:$seconds\n";
 
//正常日期转时间戳
echomktime(0, 0, 0, 9, 18, 2011) ."\n";
echomktime(0, 0, 0, 9, 25, 2011) ."\n";
 
/*
time();
是得到当前时间,但得到的是一整型
*/
//能够对此进行格式化
echo"time()显示年月日时分秒:".date("Y-m-d H:i:s", time()) ."\n";
//这样连时,分秒一块儿显示
echo"time()只显示年月日:".date("Y-m-d ", time()) ."\n";//只年示年月日
 
echo"时间戳格式化:".date("Y-m-d H:i:s", 1297845628) ."\n";//直接使用时间戳
 
/* vim: set ts=4 sw=4 sts=4 tw=100 noet: */

?>


定义和用法

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

参数老是表示 GMT 日期,所以 is_dst 对结果没有影响。

参数能够从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。

语法

mktime(hour,minute,second,month,day,year,is_dst)
参数 描述
hour 可选。规定小时。
minute 可选。规定分钟。
second 可选。规定秒。
month 可选。规定用数字表示的月。
day 可选。规定天。
year 可选。规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。
is_dst

可选。若是时间在日光节约时间(DST)期间,则设置为1,不然设置为0,若未知,则设置为-1。

自 5.1.0 起,is_dst 参数被废弃。所以应该使用新的时区处理特性。

提示和注释

注释:在 PHP 5.1 以前,若是该函数的参数非法,则会返回 false。

例子

mktime() 函数对于日期运算和验证很是有用。它能够自动校订越界的输入:

<?php
echo(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
相关文章
相关标签/搜索