gpt4 book ai didi

php - 从日期范围计算一个月内的天数

转载 作者:行者123 更新时间:2023-11-29 06:44:33 25 4
gpt4 key购买 nike

我在 mysql 表中有如下三个日期范围

  • 从 2013-09-29 到 2013-10-02
  • 从 2013-10-14 到 2013-10-16
  • 从 2013-10-28 到 2013-11-05

我只想计算 10 月份发生的天数,例如从第一个范围(2013-09-29 到 2013-10-02)我应该得到两天的差异(10 月 1 日和 2 日),它应该忽略 9 月份的天数,最后我想从上述日期范围计算给定月份的总天数。

是否可以通过直接 mysql 查询来完成。或任何简短的 PHP 逻辑。

这是我的表结构id,employee_id,leave_start,leave_to

我正在寻找类似的方法

函数 countLeaves($employee_id,$month){

//代码

返回 $numberOfLeaves

最佳答案

您需要计算 2013-10-01 月份的第一天和 2013-10-31 月份的最后一天,然后您可以使用如下查询:

SELECT
DATEDIFF(
LEAST(d_end, '2013-10-31'),
GREATEST(d_start, '2013-10-01'))+1 days
FROM
ranges
WHERE
d_start<='2013-10-31' AND d_end>='2013-10-01'

请参阅 fiddle here .

关于php - 从日期范围计算一个月内的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19446321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com