上海网站制作,上海网页制作,上海网站制作公司,上海网页制作公司,网页制作公司,网站制作公司
 
 
上海网站制作,上海网站制作公司,上海网页制作,上海网页制作公司
 
  .com    .net 
  .cc     .org 
  .info   .biz 
  .cn       .com.cn
  .net.cn   .org.cn 
 
网站制作
网站制作
动态网页制作技术PHP处理时间的实例
发布时间:2007-6-7 作者:上海网站制作

<?
/**
* 转换为UNIX时间戳
*/
function gettime(d) {
if(is_numeric(d))
return d;
else {
if(! is_string(d)) return 0;
if(ereg(":",d)) {
buf = split(" +",d);
year = split("[-/]",buf[0]);
hour = split(":",buf[1]);
if(eregi("pm",buf[2]))
hour[0] += 12;
return mktime(hour[0],hour[1],hour[2],year[1],year[2],year[0]);
}else {
year = split("[-/]",d);
return mktime(0,0,0,year[1],year[2],year[0]);
}
}
}

/**
*
* DateAdd(interval,number,date)
* 返回已添加指定时间间隔的日期。
* Inetrval为表示要添加的时间间隔字符串表达式,例如分或天
* number为表示要添加的时间间隔的个数的数值表达式
* Date表示日期
*
* Interval(时间间隔字符串表达式)可以是以下任意值:
* yyyy year年
* q Quarter季度
* m Month月
* y Day of year一年的数
* d Day天
* w Weekday一周的天数
* ww Week of year周
* h Hour小时
* n Minute分
* s Second秒
* w、y和d的作用是完全一样的,即在目前的日期上加一天,q加3个月,ww加7天。
*/
function DateAdd(interval, number, date) {
date = gettime(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 "yyyy": year +=number; break;
case "q": month +=(number*3); break;
case "m": month +=number; break;
case "y":
case "d":
case "w": day+=number; break;
case "ww": day+=(number*7); 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;
}

/**
* DateDiff(interval,date1,date2)
* 返回两个日期之间的时间间隔
* intervals(时间间隔字符串表达式)可以是以下任意值:
* w 周
* d 天
* h 小时
* n 分钟
* s 秒
*/
function DateDiff (interval, date1,date2) {
// 得到两日期之间间隔的秒数
timedifference = gettime(date2) - gettime(date1);
switch (interval) {
case "w": retval = bcdiv(timedifference ,604800); break;
case "d": retval = bcdiv( timedifference,86400); break;
case "h": retval = bcdiv (timedifference,3600); break;
case "n": retval = bcdiv( timedifference,60); break;
case "s": retval = timedifference; break;
}
return retval;
}
?>
<?
// 测试例
d1 = "2002-01-11";
d2 = date("Y-m-d",dateadd("d",15,d1));
echo d1."的". datediff("d",d1,d2)."天后是d2<br>";
echo d1."的10天前是".date("Y-m-d",dateadd("d",-10,d1))."<br>";
d3 = date("Y/m/d H:i:s");
echo "现在是".d3."距离2002/2/12 12:59:59还有".datediff("s",d3,"2002/2/12 12:59:59")."秒<br>";
?>

 


上一篇: 详细介绍用PHP来编写网页记数器 下一篇: Apache伪静态html(URL Rewrite)设置法

关于淘鑫 网站地图 联系我们 付款方式 人才招聘 友情连接 免费博客
Copyright 2004 - 2008 021-web.com.cn All Rights Reserved
版权所有 上海淘鑫网络科技有限公司 服务电话:021-54460388 54460389
信息产业部网站备案号: 沪ICP备06023403号

友情连接:上海网站建设 上海网站制作 上海网页制作 上海网站制作 上海网站制作公司 上海网页制作公司 上海网站建设 上海网站建设公司 上海网站制作 上海网站制作公司