PHP 日期加减的类,很不错_php技巧

如何使用这个类呢?请看下面的演示:

复制代码 代码如下:

$temptime = time();
echo strftime ( "%Hh%M %A %d %b" , $temptime );
$date = new DateAccount();
$temptime = $date ->DateAdd( "n" ,50, $temptime );
echo "<p>" ;
echo strftime ( "%Hh%M %A %d %b" , $temptime );

复制代码 代码如下:

$temptime = time();
echo strftime( "%Hh%M %A %d %b",$temptime);
$date = new DateAccount();
$temptime = $date->DateAdd("n" ,50,$temptime);
echo "<p>";
echo strftime( "%Hh%M %A %d %b",$temptime);

如果一切顺利,你可以看到以下结果:
15h41 Saturday 03 Jun
16h31 Saturday 03 Jun

复制代码 代码如下:

$currenttime = time();
echo "Current time: " . strftime ( "%Hh%M %A %d %b" , $currenttime ). "<br>" ;
$date = new DateAccount();
$newtime = $date ->DateAdd ( "n" ,50 , $currenttime );
echo "Time plus 50 minutes: " . strftime ( "%Hh%M %A %d %b" , $newtime ). "<br>" ;
$temptime = $date ->DateDiff ( "n" , $currenttime , $newtime );
echo "Interval between two times: " . $temptime ;

复制代码 代码如下:

$currenttime = time();
echo "Current time: ". strftime("%Hh%M %A %d %b" ,$currenttime)."<br>";
$date = new DateAccount();
$newtime = $date->DateAdd ("n",50 ,$currenttime);
echo "Time plus 50 minutes: ". strftime("%Hh%M %A %d %b" ,$newtime)."<br>";
$temptime = $date->DateDiff ("n",$currenttime ,$newtime);
echo "Interval between two times: ".$temptime;

如果一切顺利,你可以看到以下结果:
Current time: 16h23 Saturday 03 Jun
Time plus 50 minutes: 17h13 Saturday 03 Jun
Interval between two times: 50

复制代码 代码如下:

<?php
class DateAccount{
function __construct(){
}
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 "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 ;
}
function DateDiff ( $interval , $date1 , $date2 ) {
$timedifference = $date2 - $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 ;
}
}
?>

时间: 2024-10-28 00:38:38

PHP 日期加减的类,很不错_php技巧的相关文章

PHP中的日期加减方法示例_php实例

几乎所有从事程序开发的程序员都遇到时间处理问题,PHP开发也一样,幸运的是PHP提供了很多关于日期时间函数.只要经常使用这些函数,搭配使用,日期时间处理上就熟能生巧了. 今天要讲的这个例子,需求是这样的.得知某个日期时间, 如:2012-04-25 10:10:00 我要在这个日期时间的基础上加上5个月并返回处理后的日期 结果:2012-04-25 10:10:00 加5个月等于 2012-09-25 10:10:00 这个需求看似简单,但还是有点棘手,因为PHP没有直接提供yyyy-mm-dd

PHP 日期 加减 月数,天数,周数,小时,分,秒等等

其实就是strtotime 这个内置函数 //PHP 日期 加减 周 date("Y-m-d",strtotime("2013-11-12 +1 week")) //PHP 日期 加减 天数 date("Y-m-d",strtotime("2013-11-12 12:12:12 +1 day")) //PHP 日期加减小时 date("Y-m-d h:i:s",strtotime("2013-11

ASP 日期的加减运算实现代码_应用技巧

举个例子来说,要查找出2007-10-12至2007-10-31之间在网站上注册的会员,选择好日期后,点击"查询"按钮,发现2007-10-31注册的会员的信息根本没有显示出来,试验了几次结果都是一样.调试程序发现,原来是在SQL语句这里出现了问题. SQL语句如下:SELECT * FROM userinfo WHERE regtime >= '2007-10-12' AND regtime <= '2007-10-31'.初看上去这条SQL语句没有错误,可是对照数据库中

php 常用日期相函数[日期加减,两日期之差,日期转换时间截]

下面这些代码是一些常用的日期处理函数了,可以两个时间的日期加减,两日期之差,日期转换时间截等. echo date('Y-m-d',strtotime('+1 d',strtotime('2009-07-08')));//日期天数相加函数 echo date("Y-m-d",'1246982400'); echo '<br>'; echo date("Y-m-d",'1279123200'); die(); $d   =   "2009-07-

php时间日期对比与日期加减例子

功能需求 文章发布时段操作,要是在白天时间就可以发布,晚上则阻止.我们假设白天时间段从早上七点(七点估计好多人都没睡醒)到下午六点,那么我们可以这么下  代码如下 复制代码 /**  * PHP时间比较  * 琼台博客  */ // 定义开始时间,注意时间是字符串格式,所以必须用引号引起来否则报错别找我,另外里边的冒号必须是英文冒号 $start_time = '7:00';   // 定义结束时间,千万别问我下午六点为何写成十八点,我会建议你重读小学 $end_time  = '18:00';

数据库 日期加减处理_MsSql

在实际的处理中,还有一种比较另类的日期加减处理,就是在指定的日期中,加上(或者减去)多个日期部分,比如将2005年3月11日,加上1年3个月11天2小时.对于这种日期的加减处理,DATEADD函数的力量就显得有点不够. 要实现多个日期部分的加减处理,最主要的就是把要加减的日期字符分解,然后根据分解的结果在指定日期的对应日期部分加上相应的值,其难点在于如何分解日期字符,以及判断分解后的日期字符属于哪个日期部分.要顺利地分解出日期字符的话,首先要规定日期加减的日期字符的格式,可以这样定义: y-m-

数据库 日期加减处理

在实际的处理中,还有一种比较另类的日期加减处理,就是在指定的日期中,加上(或者减去)多个日期部分,比如将2005年3月11日,加上1年3个月11天2小时.对于这种日期的加减处理,DATEADD函数的力量就显得有点不够. 要实现多个日期部分的加减处理,最主要的就是把要加减的日期字符分解,然后根据分解的结果在指定日期的对应日期部分加上相应的值,其难点在于如何分解日期字符,以及判断分解后的日期字符属于哪个日期部分.要顺利地分解出日期字符的话,首先要规定日期加减的日期字符的格式,可以这样定义: y-m-

日期加减-c++如何实现时间的加减操作?

问题描述 c++如何实现时间的加减操作? c++如何实现时间的加减操作,比如有一个时间2015-03-30 23:20:20,我想减去一个月,加上2小时,如何实现??望高手赐教,代码越简洁越好! 解决方案 分别单独处理时间和日期 如果时间处理时,发现要对日期进行变化,则调用日期变化的功能.日期变化的功能,其实也不难.就是麻烦. 需要判断是否是闰年?然后按 1.3.5.7.8.10.12 和 除了2月之外的其它月进行处理. 解决方案二: 可以自己写一个时间类,然后重载加减运算符 解决方案三: CT

ORACLE中的日期加减操作实例介绍_Oracle应用

无论是DATE还是timestamp都可以进行加减操作. 可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒 2 加一个简单的数来增加天 3 使用内置函数add_months来增加年和月 例: 对当前日期增加一个小时: 复制代码 代码如下: SQL> select sysdate, sysdate+numtodsinterval(1,'hour') from dual ; SYSDATE