记录一些日期的转换方法
/*
* 根据日期生成日期数组
* */
function createDateArr($start_time, $end_time)
{
$open_start_time = $start_time;
$open_end_time = $end_time;
$stimestamp = strtotime($open_start_time);
$etimestamp = strtotime($open_end_time);
// 计算日期段内有多少天
$days = ($etimestamp - $stimestamp) / 86400 + 1;
// 保存每天日期
$arr = [];
for ($i = 0; $i < $days; $i++) {
$arr[] = date('Y-m-d', $stimestamp + (86400 * $i));
}
return $arr;
}
/**
* 获取本周所有日期
*/
function get_week2($time = '', $format = 'Y-m-d')
{
$time = $time != '' ? $time : time();
//获取当前周几
$week = date('w', $time);
$date = [];
for ($i = 1; $i <= 7; $i++) {
$date[$i] = date($format, strtotime('+' . $i - $week . ' days', $time));
}
return $date;
}
//日期转化星期几
function get_week($date)
{
header("Content-type: text/html; charset=utf-8");
//强制转换日期格式
$date_str = date('Y-m-d', strtotime($date));
//封装成数组
$arr = explode("-", $date_str);
//参数赋值
//年
$year = $arr[0];
//月,输出2位整型,不够2位右对齐
$month = sprintf('%02d', $arr[1]);
//日,输出2位整型,不够2位右对齐
$day = sprintf('%02d', $arr[2]);
//时分秒默认赋值为0;
$hour = $minute = $second = 0;
//转换成时间戳
$strap = mktime($hour, $minute, $second, $month, $day, $year);
//获取数字型星期几
$number_wk = date("w", $strap);
//自定义星期数组
$weekArr = array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
//获取数字对应的星期
return $weekArr[$number_wk];
}
//计算俩个日期之差
function diffBetweenTwoDays($day1, $day2)
{
$second1 = strtotime($day1);
$second2 = strtotime($day2);
if ($second1 < $second2) {
$tmp = $second2;
$second2 = $second1;
$second1 = $tmp;
}
return ($second1 - $second2) / 86400;
}
//将秒数转换成年月日时分秒
function GEtTime($time){
if(is_numeric($time)){
$value = array(
"years" => 0, "days" => 0, "hours" => 0,
"minutes" => 0, "seconds" => 0,
);
// if($time >= 31556926){
// $value["years"] = floor($time/31556926);
// $time = ($time%31556926);
// }
if($time >= 86400){
$value["days"] = floor($time/86400);
$time = ($time%86400);
}
if($time >= 3600){
$value["hours"] = floor($time/3600);
$time = ($time%3600);
}
if($time >= 60){
$value["minutes"] = floor($time/60);
$time = ($time%60);
}
$value["seconds"] = floor($time);
$t=$h=$m=$s='';
if ($value["days"]>0){
$t=$value["days"]."天";
}
if ($value["hours"]>0){
$h=$value["hours"]."小时";
}
if ($value["minutes"]>0){
$m=$value["minutes"]."分";
}
if ($value["seconds"]>0){
$s=$value["seconds"]."秒";
}
$time2=$t.$h.$m.$s;
return $time2;
}else{
return '时间格式不正确';
}
}