我自己写的一个计算两个时间差的函数!

刚才看到一个帖子问到的,就想写一个函数,为了方便嘛,呵呵
大家看看吧
呵呵,5分钟写的,哈哈,其实里面还包含一个以前写的转换gmt时间为unix时间的函数。

CODE:
[Copy to clipboard]
<?
function time_reduce($time_start,$time_end,$type) {
    ////  函数编写设计:Webmaster@deepseath.com
    ////  Deepseath函数库编号:function_code_04
    ////  为免费提供,如果使用恳请保留版权信息。
    ////  函数说明:
    ////  该函数是计算两个gmt时间差的
    ////  GMT必须型如:1979-07-31 08:16:18
    ////  标准格式为: time_reduce($time_start,$time_end,$type)
    ////  其中,$time_start为开始时间,
    ////       $time_end为结束时间
    ////       $type,为输出类型,
    ////           默认为输入时间的秒数
    ////           type="i"输出为分钟
    ////           type="h"输出为小时
    ////  注:本函数返回的是两个GMT长时间的时间差(秒、分钟、小时)
    function unix_time ($gmt_time) {
        ////  函数编写设计:Webmaster@deepseath.com
        ////  Deepseath函数库编号:function_code_02
        ////  为免费提供,如果使用恳请保留版权信息。
        ////  函数说明:
        ////  该函数是将GMT时间戳转换成UNIX时间戳的
        ////  GMT必须型如:1979-07-31 08:16:18
        ////      该格式在Deepseath自定义为长时间格式
        ////  标准格式为: time_unix(gmt_time,type)
        ////  其中gmt_time,为传入的GMT长时间格式;
        ////      type,为输出日期的整点设置,
        ////           默认为输入时间的unix时间戳
        ////           type=1输出整点时间的unix时间戳
        ////  注:本函数返回的是GMT长时间的对应UINX时间戳
        $gmt_time_format_d=explode("-",$gmt_time);
        $time_Y=$gmt_time_format_d["0"];
        $time_m=$gmt_time_format_d["1"];
        $time_d_format=$gmt_time_format_d["2"];
        $time_d_format=explode(" ",$gmt_time_format_d["2"]);
        $time_d=$time_d_format["0"];
        $time_gmt_format_s=$time_d_format["1"];
        $time_gmt_format_s=explode(":",$time_gmt_format_s);
        $time_H=$time_gmt_format_s["0"];
        $time_i=$time_gmt_format_s["1"];
        $time_unix=mktime($time_H,$time_i,$time_s,$time_m,$time_d,$time_Y);
        return $time_unix;
        }
        $time_start=unix_time($time_start);
        $time_end=unix_time($time_end);
        $time_reduce=$time_end-$time_start;
        if ($type=="i") {
            $time_reduce=number_format(($time_reduce/3600), 2);
            }
        elseif ($type=="h") {
            $time_reduce=number_format(($time_reduce/3600), 2);
            }
        return $time_reduce;
        }
//使用举例:
echo time_reduce("2002-05-16 13:18:00","2002-05-16 13:40:00");//输出秒数(默认)
//echo time_reduce("2002-05-16 07:00:00","2002-05-16 08:10:00");//输出分钟
//echo time_reduce("2002-05-16 07:00:00","2002-05-16 08:10:00");//输出小时
?>
大家给完善一下吧。
对于代码的格式也欢迎提建议。

作者: deepseath   发布时间: 2003-07-05

怎么没有人支持呢?
哪怕提点建议
帮助完善一下呀

这个函数功能不好吗?

作者: deepseath   发布时间: 2003-07-05

支持!

作者: yhlong   发布时间: 2003-07-05

没这么复杂吧

作者: wxffwxff   发布时间: 2003-07-05

不就是用mktime 转换之后进行 加 、减 就好了吗?

作者: ice-hotty   发布时间: 2003-07-05