PHP中计算时间差的方法

PHP中计算时间差的几种方法,在php中计算时间差有时候是件麻烦的事!不过只要你掌握了日期时间函数的用法那这些也就变的简单了,以下是小编为大家搜索整理的PHP中计算时间差的方法,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

PHP中计算时间差的方法

一个简单的例子就是计算借书的天数,这需要PHP根据每天的日期进行计算,下面就来谈谈实现这种日期计算的几种方法:

  (1) 如果有数据库就很容易了!若是MSSQL可以使用触发器!用专门计算日期差的函数datediff()便可!

若是MySQL那就用两个日期字段的差值计算的计算结果保存在另一个数值型字段中!用时调用便可!

  (2)如果没有数据库,那就得完全用PHP的时间日期函数!下面主要说明之:

例:计算1998年5月3日到1999-6-5的天数:

$enddate=mktime("0","0","0","6","5","1999");

//所得到的.值为从1970-1-1到参数时间的总秒数:是整数.那么

//下面的代码就好编多了:

$days=round(($enddate-$startdate)/3600/24) ;

echo $days;

//days为得到的天数;

若mktime()中的参数缺省,那表示使用当前日期,这样便可计算从借书日期至今的天数.

  【相关阅读

  如何用PHP读取XML数据

parser是PHP内置的一个用来处理XML的解析器,它的工作由三个事件组成:起始标签、 读取数据、结束标签。

也就是说在对XML进行处理的时候每当遇到起始标签、数据和结束标签的时候函数会做相应的动作来完成对xml数据的转换。

PHP中对XML读取的相关函数的介绍:

引用:

--------------------------------------------------------------------------------

对象 XML解析函数 描述

元素 XML_set_element_handler() 元素的开始和结束

字符数据 XML_set_character_data_handler() 字符数据的开始

外部实体 XML_set_external_entity_ref_handler() 外部实体出现

未解析外部实体 XML_set_unparsed_entity_decl_handler() 未解析的外部实体出现

处理指令 XML_set_processing_instruction_handler() 处理指令的出现

记法声明 XML_set_notation_decl_handler() 记法声明的出现

默认 XML_set_default_handler() 其它没有指定处理函数的事件

--------------------------------------------------------------------------------

下面就给大家举一个小小的例子用parser函数来读取XML数据:

$parser = XML_parser_create(); //创建一个parser编辑器

XML_set_element_handler($parser, "startElement", "endElement");//设立标签触发时的相应函数 这里分别为startElement和endElenment

XML_set_character_data_handler($parser, "characterData");//设立数据读取时的相应函数

$XML_file="";//指定所要读取的xml文件,可以是url

$filehandler = fopen($XML_file, "r");//打开文件

while ($data = fread($filehandler, 4096))

{

XML_parse($parser, $data, feof($filehandler));

}//每次取出4096个字节进行处理

fclose($filehandler);

XML_parser_free($parser);//关闭和释放parser解析器

$name=false;

$position=false;

function startElement($parser_instance, $element_name, $attrs) //起始标签事件的函数

{

global $name,$position;

if($element_name=="NAME")

{

$name=true;

$position=false;

echo "名字:";

}

if($element_name=="POSITION")

{$name=false;

$position=true;

echo "职位:";

}

}

function characterData($parser_instance, $XML_data) //读取数据时的函数

{

global $name,$position;

if($position)

echo $XML_data."

";

if($name)

echo $XML_data."

";

}

function endElement($parser_instance, $element_name) //结束标签事件的函数

{

global $name,$position;

$name=false;

$position=false;

}

?>

XML文件代码如下:

张三

经理

李四

助理

这个程序的结果如下:

引用:

--------------------------------------------------------------------------------

名字:张三 职位:经理

名字:李四 职位:助理

--------------------------------------------------------------------------------