当前位置: 首页 > 面试题库 >

从PHP中获取日期中月份的周数?

符渊
2023-03-14
问题内容

我有一个随机日期数组(不是来自MySQL)。我需要按一周将它们分组为Week1,Week2,依此类推,直到Week5。

我所拥有的是:

$dates = array('2015-09-01','2015-09-05','2015-09-06','2015-09-15','2015-09-17');

我需要的是一个通过提供日期来获取月份的星期数的功能。

我知道可以通过执行操作获得 date('W',strtotime('2015-09-01'));
周号,但是本周号是年份(1-52)之间的数字,但是我只需要一个月的周号,例如,在2015年9月有5周:

  • 第1周=第1至第5
  • 第2周= 6日至12日
  • 第3周= 13日至19日
  • 第4周= 20日至26日
  • 第5周= 27日至30日

我应该能够通过提供日期来获得Week1

$weekNumber = getWeekNumber('2015-09-01') //output 1;
$weekNumber = getWeekNumber('2015-09-17') //output 3;

问题答案:

我认为这种关系应该是正确的并且派上用场:

Week of the month = Week of the year - Week of the year of first day of month + 1

在PHP中实现,您将获得以下信息:

function weekOfMonth($date) {
    //Get the first day of the month.
    $firstOfMonth = strtotime(date("Y-m-01", $date));
    //Apply above formula.
    return intval(date("W", $date)) - intval(date("W", $firstOfMonth)) + 1;
}

要获得从星期日开始的几周,只需将都替换date("W", ...)strftime("%U", ...)



 类似资料:
  • 问题内容: 我希望能够使用以下语句从mysql中获取结果: 但是我想获取限制在某个月和一年中的结果(基于用户的输入)…我试图这样做: … 一个月,但它给了错误。 在该表中,它实际上有两个日期: 和,但我注重。输入值为月份和年份。我该如何措辞根据当年那个月获得结果的SQL语句? 问题答案: 您很接近-向后进行比较(假设是DATETIME或TIMESTAMP数据类型): 注意事项: 请注意,您正在使用

  • 问题内容: 如何从Date对象()中将月份作为整数? 问题答案: 您还可以使用Java 8中的java.time包并将您的对象转换为对象,然后仅使用方法。 请注意,此处的月份值是1到12,与adarshr的答案相反,月份值是0到11。 但是正如Basil Bourque在评论中所说,首选方法是使用该方法获取枚举对象。

  • 问题内容: 我需要找到给定月份和年份的所有周末日期。 例如:对于01(月),2010(年),输出应为:所有周末日期:2,3,9,10,16,17,23,24,30,31。 问题答案: 这是带有描述步骤的注释的粗略版本:

  • 问题内容: 我正在做一些报告,我想获取特定月份(例如2014年1月)中的所有日期,以及执行此“ SQL”时的日期: 我想得到这个清单: 如果我这样做“ SQL”: 我想得到这个清单: 如果我这样做“ SQL”: 我想得到这个清单: 这有可能吗,还是我应该自己为下一个100年绘制日期表:) 问题答案: 这是此问题的mysql / java解决方案。 创建表语句: Java代码: 我使用此sql获取日

  • 问题内容: 如何从JavaScript中的日期对象生成月份名称(例如:Oct / October)? 问题答案: 现在可以使用ECMAScript国际化API来做到这一点: 使用月份的全名,简称和更短的版本(例如字母语言中的第一个字母)。 你可以将语言环境从浏览器更改为任何你喜欢的语言环境(例如),它将使用该语言/国家/地区的正确名称。 使用时,你每次必须传递语言环境和选项。如果要在多个不同的日期