PHP date

1. /*

2. * 功能:获取指定年月日是星期几

3. * 传参:年月日格式:2010-01-01的字符串

4. * 返回值:计算出来的星期值

5. * 创建者:FrancisRan

6. * 创建时间:2010-07-13

7. * 最后修改时间:2010-07-13

8. * copyright (c)2010 ranfanwei1988@126.com

9. */

10. function transition ($date) {

11. $datearr = explode("-", $date); //将传来的时间使用“-”分割成数组

12. $year = $datearr[0]; //获取年份

13. $month = sprintf('%02d', $datearr[1]); //获取月份

14. $day = sprintf('%02d', $datearr[2]); //获取日期

15. $hour = $minute = $second = 0; //默认时分秒均为0

16. $dayofweek = mktime($hour, $minute, $second, $month, $day, $year); //将时间转换成时间戳

17. return date("w", $dayofweek); //获取星期值

18. }

 

显示今天星期几: 
date( "D ",   time()); 
//输出   Mon 

显示以前任何一天,比如2005-07-11是星期几: 
date( "D ",   strtotime( "2005-07-11 ")); 
//输出   Mon 

获取的时间戳计算星期几: 
date( "D ",   1121054063); 
//输出   Mon

 

最简单的办法:
$days=(now()-strtotime( "2002-2-23 "))/86400;

$tdate=date( "Y-m-d ");
$a=date(   "Y-m-d ",   mktime(0,0,0,date( "m "),date( "d ")+3,date( "Y ")));
$sql= "select   *   from   memo   where   username= '$session_user_id '   and   compid=$compid  and   telldate> = '$tdate '   and   telldate <= '$a '   order   by   id   desc ";
$ret=mysql_query($sql,$conn);
$a就是今天+三天的时间!
$b=date(   "Y-m-d ",   mktime(0,0,0,date( "m "),date( "d ")-3,date( "Y ")));
$b就是今天-三天的时间!

方法1:在mysql中创建一个临时表,将两个时间插入表中,再取出这两个date字段进行相减,就得到了相差日期。
方法2:mktime函数返回的的是秒数,所以我们可以这样计算,
$date1= "1992-03-05 ";
$date2= "1992-04-05 ";
$result=round((mktime(0,0,0,4,5,1992)-mktime(0,0,0,3,5,1992))/3600/24)

$result就是两个日期之间的天数差了

 

//获取当天星期数

if((date('w') == 6) || (date('w') == 0)){
echo '今天是周末';
}else{
echo '当然就不是周末了';
}

//检测指定的某个时间
function week($str){
if((date('w',strtotime($str))==6) || (date('w',strtotime($str)) == 0)){

echo '你输入的日期是周末';
}else{
echo '当然也不是周末了';
}

}
posted @ 2013-07-22 23:07  凌少  阅读(254)  评论(0编辑  收藏  举报