<?php
$friday=strtotime("Friday");//本周五开始时间
$lastFri=strtotime("lastFriday");//上周五开始时间或者$friday-86400*7
$nextFri=strtotime("nextFriday");//下周五开始时间或者$friday+86400*7注意一下:下周五这个有时会出问题,比如现在还不到周五,这样得到的下周五的时间会和本周五一样。
//如果需要某天截止时间可以在这一天的开始时间加上86400也就是1天
echo"本周五开始时间是:".date("Y-m-dH:i:s",$friday)."<br/>";
echo"上周五开始时间是:".date("Y-m-dH:i:s",$lastFri)."<br/>";
echo"下周五开始时间是:".date("Y-m-dH:i:s",$nextFri)."<br/>";
希望我的回答对您有所帮助~~
② php时间计算问题
利用strtotime函数!!!
1. 计算日期30天后可以用strtotime PHP提供了一个超级简单的方式来完成本来要几十行代码的工作
先把某日期转换成UNIX时间戳
$t = time(); // 当前时间戳
$t = strtotime("+30 days", $t); // 30天后的时间戳
echo date("Y-m-d", $t); // 格式化日期
2. 转换2日期的时间戳...然后相减
$t1 = strtotime("2009-08-19");
$t2 = strtotime("2009-08-20");
$t = $t2 - $t1; // 相差天数的秒
echo (int)($t / 86400)
③ PHP计算一年多少个星期和每周的开始和结束日期
PHP计算一年多少个星期和每周的开始和结束日期?方法如下:
方法一:
<php
header("Content-type:text/html;charset=utf-8");
date_default_timezone_set("Asia/Shanghai");
$year = (int)$_GET['year'];
$week = (int)$_GET['week'];
$weeks = date("W", mktime(0, 0, 0, 12, 28, $year));
echo $year . '年一共有' . $weeks . '周<br />';
if ($week > $weeks || $week <= 0)
{
$week = 1;
}
if ($week < 10)
{
$week = '0' . $week;
}
$timestamp['start'] = strtotime($year . 'W' . $week);
$timestamp['end'] = strtotime('+1 week -1 day', $timestamp['start']);
echo $year . '年第' . $week . '周开始时间戳:' . $timestamp['start'] . '<br />';
echo $year . '年第' . $week . '周结束时间戳:' . $timestamp['end'] . '<br />';
echo $year . '年第' . $week . '周开始日期:' . date("Y-m-d", $timestamp['start']) . '<br />';
echo $year . '年第' . $week . '周结束日期:' . date("Y-m-d", $timestamp['end']);
?>
方法二: <?php
header("Content-type:text/html;charset=utf-8");
function getIsoWeeksInYear($year)
{
$date = new DateTime;
$date->setISODate($year, 53);
return ($date->format("W") === "53" ? 53 : 52);
}
function weekday($custom_date)
{
$week_start = date('d-m-Y', strtotime('this week monday', $custom_date));
$week_end = date('d-m-Y', strtotime('this week sunday', $custom_date));
$week_array[0] = $week_start;
$week_array[1] = $week_end;
return $week_array;
}
echo '<br> Weeks in 2013<br>' . getIsoWeeksInYear(2013);
$weekday = weekday(strtotime(date('d-m-Y', strtotime('5-8-2013'))));
echo '<br> 10-8-2013';
echo '<br>Start: ' . $weekday[0];
echo '<br>End: ' . $weekday[1];
?>
或者方法三:
function get_week($year) {
$year_start = $year . "-01-01";
$year_end = $year . "-12-31";
$startday = strtotime($year_start);
if (intval(date('N', $startday)) != '1') {
$startday = strtotime("next monday", strtotime($year_start)); //获取年第一周的日期
}
$year_mondy = date("Y-m-d", $startday); //获取年第一周的日期
$endday = strtotime($year_end);
if (intval(date('W', $endday)) == '7') {
$endday = strtotime("last sunday", strtotime($year_end));
}
$num = intval(date('W', $endday));
for ($i = 1; $i <= $num; $i++) {
$j = $i -1;
$start_date = date("Y-m-d", strtotime("$year_mondy $j week "));
$end_day = date("Y-m-d", strtotime("$start_date +6 day"));
$week_array[$i] = array (
str_replace("-",
".",
$start_date
), str_replace("-", ".", $end_day));
}
return $week_array;
}
函数get_week()通过传入参数$year年份,获取当年第一天和最后一天所在的周数,计算第一周的日期,通过循环获取每一周的第一天和最后一天的日期。最后返回是一个数组。
想得到指定周数的开始日期和结束日期,比如2011年第18周的开始日期和结束日期,代码如下:
复制代码 代码如下:
$weeks = get_week(2011);
echo '第18周开始日期:'.$weeks[18][0].'';
echo '第18周结束日期:'.$weeks[18][1];
最后输出结果:
第18周开始日期:2011.05.02
第18周结束日期:2011.05.08
④ PHP判断是否工作日
composer包:
https://packagist.org/packages/maidou/holiday
工作日定义:因法定节假日调休需要补班的 和 正常的周一到周五的工作日
节假日数据每年底更新下一年的,目前有2019,2020,2021的数据
使用方法:
use Maidou\Holiday\Holiday;
//某一天是否工作日
$is_work = Holiday::instance()->is_work_day("2021-05-10");
//日期段内工作日天数
$days = Holiday::instance()->work_days_between("2021-10-01","2021-10-10");
⑤ PHP 计算1月4号 到 2月3号 一共 多少天
PHP 计算1月4号 到 2月3号 一共 31天,
28+3=31
⑥ thinkphp怎么获取当前月的法定工作日
法定节假日,程序不会知道又不是都周一到周五,要看政策的啊。。只能去抓人家现成的。
⑦ php算法编程 计算天数
<?php
$start='2017-2-5';
$end='2018-3-6';
functioncalDate($start,$end){
$start_time=strtotime($start); //获得$start的秒时间戳
$end_time=strtotime($end); //获得$end的秒时间戳
return($end_time-$start_time)/60/60/24; //秒时间戳相减得到两个日期相差的秒数,通过秒数计算天数
}
echocalDate($start,$end);
?>
⑧ 用PHP判断日期是节假日还是工作日
通过API(http://www.easybots.cn/holiday_api.net)获取返回信息返回一个字串
{"20130101":"2"}
{"20130103":"1"}
{"20130201":“0“}
分三种情况 2代表 节日 1 代表假日 0 代表工作日;
截取最后的字串就可以判断了 如果是0 就是工作日
substring(s.length-2,1);
⑨ php如何计算某一天是周几
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php。
⑩ 求助:有没有用PHP语言计算两个日期间相差的工作日,只要排除周末就行求借鉴。
给你写了一个函数,说明一下,周1-周4,相差3天,如果要计算结束那一天的话,那就在return 值的基础上再+1;
函数为什么这么写,你自己揣摩一下,你可以使用我给你的例子,进行测试。应该没有什么问题。
$start = mktime(0,0,0,11,1,2012);
$end = mktime(0,0,0,11,30,2012);
echo "相差".workDays($start,$end)."个工作日";
function workDays( $start , $end ){
$end < $start && exit;
$double = ($end - $start)/(7*24*3600);
$double = floor($double);
$start = date('w',$start);
$end = date('w',$end);
$end = $start > $end ? $end + 5 : $end;
return $double * 5 + $end - $start;
}