php日期加减(php日期差数)

http://www.itjxue.com  2023-02-17 12:20  来源:未知  点击次数: 

php编写datadd($n,$date)函数,计算一个日期之后或之前N天的日期.用表单输入日期和天

function?datadd($n,?$date){

return?date("Y-m-d?H:i:s",?strtotime($date?."?+$n?day"));

}

上面是单独加减"天"的,下面是可以加减年月周日时分秒的...

function?datadd($part,?$n,?$date){

switch($part){

case?"y"?:?$val?=?date("Y-m-d?H:i:s",?strtotime($date?."?+$n?year"));?break;

case?"m"?:?$val?=?date("Y-m-d?H:i:s",?strtotime($date?."?+$n?month"));?break;

case?"w"?:?$val?=?date("Y-m-d?H:i:s",?strtotime($date?."?+$n?week"));?break;

case?"d"?:?$val?=?date("Y-m-d?H:i:s",?strtotime($date?."?+$n?day"));?break;

case?"h"?:?$val?=?date("Y-m-d?H:i:s",?strtotime($date?."?+$n?hour"));?break;

case?"n"?:?$val?=?date("Y-m-d?H:i:s",?strtotime($date?."?+$n?minute"));?break;

case?"s"?:?$val?=?date("Y-m-d?H:i:s",?strtotime($date?."?+$n?second"));?break;

}

return?$val;

}

至于表单比较比较简单就自己写吧...

php中两个时间如何相减

PHP 中的 strtotime() 函数可以实现

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。

strtotime(time,now)

参数说明

time 规定要解析的时间字符串。

now 用来计算返回值的时间戳。如果省略该参数,则使用当前时间。

详细说明

成功则返回时间戳,否则返回 FALSE。在 PHP 5.1.0 之前本函数在失败时返回 -1。

例如:

?php

$start_time = '2015-05-01 10:10:10';

$end_time = '2015-06-01 10:10:10';

//下面计算出的是秒,可以转化为天、时、分等

echo strtotime($end_time )-strtotime($start_time);

?

php时间计算问题???

利用strtotime函数!!!

1. 计算日期30天后可以用strtotime PHP提供了一个超级简单的方式来完成本来要几十行代码的工作

先把某日期转换成UNIX时间戳

$t = time(); // 当前时间戳

$t = strtotime("+30 days", $t); // 30天后的时间戳

echo date("Y-m-d", $t); // 格式化日期

2. 转换2日期的时间戳...然后相减

$t1 = strtotime("2009-08-19");

$t2 = strtotime("2009-08-20");

$t = $t2 - $t1; // 相差天数的秒

echo (int)($t / 86400)

php代码,时间只差(精确到秒,并扣除周末的时间)

//可以先将时间转化为时间戳进行加减,然后在转化为时间$a = date(尝发佰菏脂孤拌酞饱喀9;H:i:s');$b = date('H:i:s',strtotime('+50 second'));$aa = strtotime($b)-strtotime($a);echo date('H:i:s', $aa);

php 时间加减问题,比如我的时间:$date_t=$_post[date_t] 我需要输出这个时间的二天,或者加一天,怎么写

这个,你要知道,时间戳的概念不??

php读取的时候就是用时间戳的。

$time = time();

这个代码实现的就是 获取当前的时间戳,如果你要根据本地的时间再加上2天或1天的话,

可以用js的函数解读时间戳。

//功能:检查日期格式是否是有效格式

function checkIsValidDate(str)

{

if(str == "") //如果参数为空,则返回false

return false;

var arrDate = str.split("-"); //把参数用split函数分割成数组,它等同与PHP中的explode函数

if(parseInt(arrDate[0],10) 100) //如果年份小于100,则表示是21世纪

arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";

var date = new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]); //格式化为日期格式

if(date.getYear() == arrDate[0] //判断格式化后日期的年,月,日是否和参数的相等,相等则是有效格式

date.getMonth() == (parseInt(arrDate[1],10) -1)+""

date.getDate() == arrDate[2])

return true;

else

return false;

}

//功能:检查开始时间是否小于结束日期

//参数:strStart 开始日期,strEnd 结束日期

function checkDateEarlier(strStart,strEnd)

{

if(checkIsValidDate(strStart) == false || checkIsValidDate(strEnd) == false)

return false; //检查日期格式是否有效

if (( strStart == "" ) || ( strEnd == "" )) //检查日期是否为空

return false;

var arr1 = strStart.split("-");

var arr2 = strEnd.split("-");

var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);

var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);

if(arr1[1].length == 1) //将月份格式化为08这种形式

arr1[1] = "0" + arr1[1];

if(arr1[2].length == 1) //将日格式化为08这种形式

arr1[2] = "0" + arr1[2];

if(arr2[1].length == 1) //将月份格式化为08这种形式

arr2[1] = "0" + arr2[1];

if(arr2[2].length == 1) //将日格式化为08这种形式

arr2[2]="0" + arr2[2];

var d1 = arr1[0] + arr1[1] + arr1[2]; //将开始日期组合成一个字符串

var d2 = arr2[0] + arr2[1] + arr2[2]; //将结束日期组合成一个字符串

if(parseInt(d1,10) parseInt(d2,10)) //将两个字符串转化成整数,如果d1d2则开始日期大于结束日期

return false;

else

return true;

}

php smarty 日期加减正常输出2012-03-06,

你可以在模版里赋值

!--{assign var="var_num" value="`$now-1*24*3600`"}--

然后用赋值出来的变量调用Num2Date方法

!--{'Qimfun'|Num2Date:$var_num}--

可以看看我那个参考资料的的连接

(责任编辑:IT教学网)

更多

推荐其他源码文章