class dateUtil {
function beginToday() {
// 今天开始时间
$beginToday = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( 'm' ), date ( 'd' ), date ( 'Y' ) ) );
return $beginToday;
}
function endToday() {
// 今天结束时间
$endToday = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( 'm' ), date ( 'd' ) + 1, date ( 'Y' ) ) - 1 );
return $endToday;
}
function beginYesterday() {
// 昨天开始时间
$beginYesterday = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( 'm' ), date ( 'd' ) - 1, date ( 'Y' ) ) );
return $beginYesterday;
}
function endYesterday() {
// 昨天结束时间
$endYesterday = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( 'm' ), date ( 'd' ), date ( 'Y' ) ) - 1 );
return $endYesterday;
}
function beginThisweek() {
// 本周开始时间
$beginThisweek = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( "m" ), date ( "d" ) - date ( "w" ) + 1, date ( "Y" ) ) );
return $beginThisweek;
}
function endThisweek() {
// 本周结束时间
$endThisweek = date ( "Y-m-d H:i:s", mktime ( 23, 59, 59, date ( "m" ), date ( "d" ) - date ( "w" ) + 7, date ( "Y" ) ) );
return $endThisweek;
}
function beginLastweek() {
// 上周开始时间
$beginLastweek = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( 'm' ), date ( 'd' ) - date ( 'w' ) + 1 - 7, date ( 'Y' ) ) );
return $beginLastweek;
}
function endLastweek() {
// 上周结束时间
$endLastweek = date ( "Y-m-d H:i:s", mktime ( 23, 59, 59, date ( 'm' ), date ( 'd' ) - date ( 'w' ) + 7 - 7, date ( 'Y' ) ) );
return $endLastweek;
}
function beginThismonth() {
// 本月开始时间
$beginThismonth = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( 'm' ), 1, date ( 'Y' ) ) );
return $beginThismonth;
}
function endThismonth() {
// 本月结束时间
$endThismonth = date ( "Y-m-d H:i:s", mktime ( 23, 59, 59, date ( 'm' ), date ( 't' ), date ( 'Y' ) ) );
return $endThismonth;
}
function beginLastmonth() {
// 上月开始时间
$beginLastmonth = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( "m" ) - 1, 1, date ( "Y" ) ) );
return $beginLastmonth;
}
function endLastmonth() {
// 上月结束时间
$endLastmonth = date ( "Y-m-d H:i:s", mktime ( 23, 59, 59, date ( "m" ), 0, date ( "Y" ) ) );
return $endLastmonth;
}
function beginThisseason() {
// 本季度开始时间
$season = ceil ( (date ( 'n' )) / 3 ); // 当前是第几季度
$beginThisseason = date ( 'Y-m-d H:i:s', mktime ( 0, 0, 0, $season * 3 - 3 + 1, 1, date ( 'Y' ) ) );
return $beginThisseason;
}
function endThisseason() {
// 本季度结束时间
$endThisseason = date ( 'Y-m-d H:i:s', mktime ( 23, 59, 59, $season * 3, date ( 't', mktime ( 0, 0, 0, $season * 3, 1, date ( "Y" ) ) ), date ( 'Y' ) ) );
return $endThisseason;
}
function beginLastseason() {
// 上季度开始时间
$season1 = ceil ( (date ( 'n' )) / 3 ) - 1; // 上季度是第几季度
$beginLastseason = date ( 'Y-m-d H:i:s', mktime ( 0, 0, 0, $season1 * 3 - 3 + 1, 1, date ( 'Y' ) ) );
return $beginLastseason;
}
function endLastseason() {
// 上季度结束时间
$endLastseason = date ( 'Y-m-d H:i:s', mktime ( 23, 59, 59, $season1 * 3, date ( 't', mktime ( 0, 0, 0, $season1 * 3, 1, date ( "Y" ) ) ), date ( 'Y' ) ) );
return $endLastseason;
}
function beginThisyear() {
// 本年开始时间
$beginThisyear = date ( "Y", time () ) . "-1" . "-1";
return $beginThisyear;
}
function endThisyear() {
// 本年结束时间
$endThisyear = date ( "Y", time () ) . "-12" . "-31";
return $endThisyear;
}
/**
* 获取当前系统时间(精确到毫秒)
* @return float
*/
function getMillisecond() {
list($t1, $t2) = explode(' ', microtime());
return (float)sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000);
}
/**
* 获取当前系统时间(精确到微秒)
* @return float
*/
function getMicrosecond() {
list($t1, $t2) = explode(' ', microtime());
return sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000000);
}
/**
* 求两个日期之间相差的天数
* (针对1970年1月1日之后,求之前可以采用泰勒公式)
* @param string $day1
* @param string $day2
* @return number
*/
function diffBetweenTwoDays ($day1, $day2) {
$second1 = strtotime($day1);
$second2 = strtotime($day2);
if ($second1 < $second2) {
$tmp = $second2;
$second2 = $second1;
$second1 = $tmp;
}
return round($second1 - $second2) / 3600/24;
}
}