<?php
/*
转化为时间戳格式
*/
function timestamp($data){
$number = strlen((int)$data);
if($number != 10){//时间戳长度为10
$data = strtotime($data);
}
return $data;
}
/*
转化为日期格式
*/
function dateFormat($data){
$number = strlen((int)$data);
if($number == 10){
$data = date('Y-m-d H:i:s',$data);
}
return $data;
}
/*
计算两个日期之间相差的天数 输入任意两个日期,就能计算出两个日期之间相差的天数
$data1 = '2016-2-19';
$data2 = '2016-3-22';
var_dump(datediff($data1,$data2));//int 32
*/
function datediff($date1, $date2){
$date1 = timestamp($date1);
$date2 = timestamp($date2);
return abs($date2 - $date1)/86400;// int 32
}
$timess = time();
$data1 = '2016-2-19';
$data2 = '2016-3-22';
$res = dateFormat(time());
// var_dump($res);
// var_dump($timess);
// var_dump($data3);
// var_dump(dateadd($data2,$data1));
// var_dump(dateadd(time(),9));
/*
计算几天之后的日期
$data = '2016-2-19';
$days = 6;
echo '求几天之后的日期';
var_dump(dateadd($data,$days));//string '2016-02-25' (length=10)
*/
function dateadd($date, $days){
$date = timestamp($date);
// return date('Y-m-d',strtotime($date) + $days * 86400);//几天之后的日期
return date('Y-m-d',$date + $days * 86400);
}
/*
求昨天11点的日期函数
var_dump(yesterday());
//date_default_timezone_set ( 'PRC' );//设置时区
//string '今天时间:2016-04-10 10:52:59 昨天时间:2016-04-09 10:52:59 昨天11点的日期:2016-04-09 11:00:00' (length=108)
//不设置时区
//string '今天时间:2016-04-10 02:50:33 昨天时间:2016-04-09 02:50:33 昨天11点的日期:2016-04-09 11:00:00' (length=108)
*/
function getyesterday(){
$day = time();//获取当前时间的时间戳
$today = date('Y-m-d H:i:s',$day);//转化为当前日期格式 今天日期
$yesterday = date('Y-m-d H:i:s',$day - 86400);//昨天的日期
$yesterdays = date('Y-m-d 11:00:00',$day - 86400);//昨天11点的日期
return '今天时间:'.$today.' 昨天时间:'.$yesterday.' 昨天11点的日期:'.$yesterdays;
}
/*
求一个日期是星期几
$data1 = '2016-2-19';
var_dump(getweek($data1));
*/
function getweek($date){
$weekarray=array("日","一","二","三","四","五","六");
$date = timestamp($date);
return $weekarray[date('w',$date)];//string '五' (length=3)
// return date('w',strtotime($date));//string '5' (length=1)
// return (int)date('w',strtotime($date));//int 5
}
/*
求一个日期的上个月下个月当天的日期
$data1 = '2016-1-19';
var_dump(getNextMonthDays($data1,6));//string '上月当天日期:2015-12-19 下月当天日期:2016-02-19' (length=60)
var_dump(getNextMonthDays(time(),12));
*/
function getNextMonthDays($data,$num = 1){
$data = dateFormat($data);
$lastday=date('Y-m-d',strtotime("$data +$num month")); //下个月当天日期
return $lastday;
}
function getLastMonthDays($data,$num = 1){
$data = dateFormat($data);
$firstday=date('Y-m-d',strtotime("$data -$num month"));//上个月当天日期
return $firstday;
}