php中怎么对时间进行运算??

froog 2004-08-11 06:04:17
就像ASP中的datediff()、dateadd()
在PHP中有吗?没有的话怎么比较两个时间呢?
谢谢!!
...全文
205 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzkd 2004-08-12
  • 打赏
  • 举报
回复
时间戳的限制记录是到2038年就不能用了吧.
具体是哪年,我就不清楚了,不好意思,有点忘了
tod204 2004-08-12
  • 打赏
  • 举报
回复
unix时间戳有什么限制?
我想知道..
ashchen 2004-08-12
  • 打赏
  • 举报
回复
注意unix时间戳不是万能的,它有限制
zairwolfc 2004-08-12
  • 打赏
  • 举报
回复
稻草人搞笑啊,转专业啦?
spacet 2004-08-12
  • 打赏
  • 举报
回复
取得unix时间戳,然后再相加减
fhiesc 2004-08-12
  • 打赏
  • 举报
回复
大家说的都不错,学习!
gwall 2004-08-12
  • 打赏
  • 举报
回复
这是一个程序中用的,供你参考:
-----------------------------

Function DateDiff($interval,$date1,$date2,$scale=0)
{
$timedifference = $date1 - $date2;

switch ($interval)
{
case "w"://week
$retval = bcdiv($timedifference ,604800);
break;
case "d"://day
$retval = bcdiv( $timedifference,86400,$scale);
break;
case "h"://hour
$retval = bcdiv ($timedifference,3600);
break;
case "n"://minute
$retval = bcdiv( $timedifference,60);
break;
case "s"://second
$retval = $timedifference;
break;
}
return $retval;
}

function DateAdd($interval,$number,$date)
{
$date_time_array = getdate($date);

$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"];

switch ($interval)
{
case "y":
$year +=$number;
break;
case "q":
$month +=($number*3);
break;
case "m":
$month +=$number;
break;
case "w":
$day+=($number*7);
break;
case "d":
$day+=$number;
break;
case "h":
$hours+=$number;
break;
case "n":
$minutes+=$number;
break;
case "s":
$seconds+=$number;
break;
}
$timestamp = mktime($hours ,$minutes, $seconds,$month ,$day, $year);
return $timestamp;
}
froog 2004-08-12
  • 打赏
  • 举报
回复
谢谢各位!
okdw 2004-08-12
  • 打赏
  • 举报
回复
先格式化成时间辍,然后相减,然后在格式化成正常时间
ice_berg16 2004-08-12
  • 打赏
  • 举报
回复
最近在看JAVA
多学点东西总不是坏处
skystar008 2004-08-11
  • 打赏
  • 举报
回复
unix时间戳。
ice_berg16 2004-08-11
  • 打赏
  • 举报
回复
晕,这两天PHP写的少了,少了变量符号,

function DateDiff($date1,$date2)
{
//返回两个日期相差的天数
return (strtotime($date2)-strtotime($date1))/(60*60*24);
}
ice_berg16 2004-08-11
  • 打赏
  • 举报
回复
这个要自己写函数,不过PHP的函数很丰富,自己写也是很简单的

function DateDiff(date1,date2)
{
//返回两个日期相差的天数
return (strtotime(date2)-strtotime(date1))/(60*60*24);
}
zairwolfc 2004-08-11
  • 打赏
  • 举报
回复
习惯用time
hlddn 2004-08-11
  • 打赏
  • 举报
回复
strtotime -- 将任何英文文本的日期时间描述解析为 UNIX 时间戳
time -- 返回当前的 UNIX 时间戳
可以用strtotime把你的时间变成unix时间戳,然后进行比较啊。
lzkd 2004-08-11
  • 打赏
  • 举报
回复
有,个人比较喜欢用time()这个函数,取UNIX时间戳的

21,881

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧