PHP计算工作日的问题
来源:互联网 发布:英雄联盟网吧特权软件 编辑:程序博客网 时间:2024/05/29 07:47
/**
* add word day
* @param $date
* @param $adds
* @return int
*/
public static function addWorkday($date, $adds)
{
$x = (int)($adds / 5);
$y = $adds % 5;
$tmp = $date;
/*判断剩余的天数与当前星期数之和是否大于7*/
if (7 < ($y + DateUtil::getWeekdayValue(date('l', $date)))) {
$add = 60 * 60 * 24 * 2;
} else {
$add = 0;
}
if (0 < $x)
$add += 60 * 60 * 24 * 7 * $x;
if (0 < $y)
$add += 60 * 60 * 24 * $y;
$tmp = $date + $add;
switch (date('l', $tmp)) {
case 'Sunday': {
$add += 60 * 60 * 24 * 2;
break;
}
case 'Saturday': {
$add += 60 * 60 * 24 * 2;
break;
}
default: {
}
}
$tmp = $date + $add;
return $tmp;
}
/**
* @param $weekday
* @return int
*/
public static function getWeekdayValue($weekday)
{
$value = 0;
switch ($weekday) {
case 'Monday': {
$value = 1;
break;
}
case 'Tuesday': {
$value = 2;
break;
}
case 'Wednesday': {
$value = 3;
break;
}
case 'Thursday': {
$value = 4;
break;
}
case 'Friday': {
$value = 5;
break;
}
case 'Saturday': {
$value = 6;
break;
}
case 'Sunday': {
$value = 7;
break;
}
default: {
}
}
return $value;
}
/**
* @param $date_from
* @param $date_to
* @return int
*/
public static function getWorkday($date_from, $date_to)
{
//convert to day
$sub = ($date_to - $date_from) / (60 * 60 * 24);
$x = (int)($sub / 7);
$y = $sub % 7;
/*判断剩余的天数与当前星期数之和是否大于7*/
if (7 < ($y + DateUtil::getWeekdayValue(date('l', $date_from)))) {
$y -= 2;
}
$tmp = 0;
if (0 < $x)
$tmp += 5 * $x;
if (0 < $y)
$tmp += $y;
return $tmp;
}
* add word day
* @param $date
* @param $adds
* @return int
*/
public static function addWorkday($date, $adds)
{
$x = (int)($adds / 5);
$y = $adds % 5;
$tmp = $date;
/*判断剩余的天数与当前星期数之和是否大于7*/
if (7 < ($y + DateUtil::getWeekdayValue(date('l', $date)))) {
$add = 60 * 60 * 24 * 2;
} else {
$add = 0;
}
if (0 < $x)
$add += 60 * 60 * 24 * 7 * $x;
if (0 < $y)
$add += 60 * 60 * 24 * $y;
$tmp = $date + $add;
switch (date('l', $tmp)) {
case 'Sunday': {
$add += 60 * 60 * 24 * 2;
break;
}
case 'Saturday': {
$add += 60 * 60 * 24 * 2;
break;
}
default: {
}
}
$tmp = $date + $add;
return $tmp;
}
/**
* @param $weekday
* @return int
*/
public static function getWeekdayValue($weekday)
{
$value = 0;
switch ($weekday) {
case 'Monday': {
$value = 1;
break;
}
case 'Tuesday': {
$value = 2;
break;
}
case 'Wednesday': {
$value = 3;
break;
}
case 'Thursday': {
$value = 4;
break;
}
case 'Friday': {
$value = 5;
break;
}
case 'Saturday': {
$value = 6;
break;
}
case 'Sunday': {
$value = 7;
break;
}
default: {
}
}
return $value;
}
/**
* @param $date_from
* @param $date_to
* @return int
*/
public static function getWorkday($date_from, $date_to)
{
//convert to day
$sub = ($date_to - $date_from) / (60 * 60 * 24);
$x = (int)($sub / 7);
$y = $sub % 7;
/*判断剩余的天数与当前星期数之和是否大于7*/
if (7 < ($y + DateUtil::getWeekdayValue(date('l', $date_from)))) {
$y -= 2;
}
$tmp = 0;
if (0 < $x)
$tmp += 5 * $x;
if (0 < $y)
$tmp += $y;
return $tmp;
}
0 0
- PHP计算工作日的问题
- 转贴:工作日的计算
- 计算工作日的问题——SQL编程
- oracle的工作日计算实例
- .net实现工作日的计算
- 计算两个日期的工作日
- Excel计算工作日的公式
- .net实现工作日的计算
- PHP计算每个月有多少工作日
- 工作日计算问题思路和实现
- 工作日计算
- 工作日计算
- 计算工作日
- php-获取从今天开始计算第5个工作日的日期
- 计算两个任意日期之间的工作日
- asp计算两个时间内的工作日
- 计算两日期之间的工作日天数
- 银行等单位工作日计算的实现
- 用文件重定向输入输出
- gradient descend/accelerated gradient descend/linearSVM/libSVM
- Dubbo cvc-complex-type.2.4.c 错误,dubbo.xsd
- VMware尝试访问日志文件时出错
- C语言输出指针变量地址以及指向变量的地址
- PHP计算工作日的问题
- iOS Quartz 2D相关笔记总结笔记 韩俊强的博客
- [LeetCode]Decode Ways
- Dynamics CRM2016 Web Api之分页查询
- <c:forEach> 标签的var 属性和varStatus属性的区别
- HDU 1008 Elevator 水题
- 【一点一点写算法】排序算法开头
- 学习笔记之--JAVA IO流
- Jsp 使用 fileupload 文件上传和下载