Php 获取给定日期时间集的每月第一个星期一 我需要什么
我有一个特定的约会时间列表。我想得到每个约会时间的第一个星期一 假设给定的日期时间是Php 获取给定日期时间集的每月第一个星期一 我需要什么,php,datetime,Php,Datetime,我有一个特定的约会时间列表。我想得到每个约会时间的第一个星期一 假设给定的日期时间是 2013-07-05 2013-08-05, 2013-09-13 etc. 我想得到所有这些datetimes中的第一个星期一,以便输出结果 2013-07-01, 2013-08-05, 2013-09-02 respectively 实际上,我一直在用stftime处理这个问题 第一个星期一将在一个月的前7天内, DAYOFWEEKdate返回1=星期日,2=星期一,依此类推 另请参见第23页 第
2013-07-05 2013-08-05, 2013-09-13 etc.
我想得到所有这些datetimes中的第一个星期一,以便输出结果
2013-07-01, 2013-08-05, 2013-09-02 respectively
实际上,我一直在用stftime处理这个问题
第一个星期一将在一个月的前7天内, DAYOFWEEKdate返回1=星期日,2=星期一,依此类推 另请参见第23页
第一个星期一将在一个月的前7天内, DAYOFWEEKdate返回1=星期日,2=星期一,依此类推 另请参见第23页
您可以在日期数组中循环,然后在第一次遇到星期一时打破循环并返回$Date 输出
列表中的第一个星期一是-2013-08-05您可以在日期数组中循环,然后在第一次遇到星期一时打破循环并返回$Date 输出
列表中的第一个星期一是-2013-08-05,使用php Datetime类:
$Dates = array('2013-07-02', '2013-08-05', '2013-09-13');
foreach ($Dates as $Date)
{
$test = new DateTime($Date);
echo $test->modify('first monday')->format('Y-m-d');
}
使用php Datetime类:
$Dates = array('2013-07-02', '2013-08-05', '2013-09-13');
foreach ($Dates as $Date)
{
$test = new DateTime($Date);
echo $test->modify('first monday')->format('Y-m-d');
}
请让我澄清为什么这个问题被选为主题之外的问题,这样我就可以确保我不会再犯同样的错误了。阿加尼没有投你的反对票,但是谁投了你的反对票,因为问代码的问题必须表明对正在解决的问题的最低理解。包括尝试过的解决方案、它们不起作用的原因以及预期结果。另请参见:因为他也将其标记为关闭。请注意粗体部分。诸如此类的问题很多。请向右看“相关”下方。在提问之前,您还应该使用页面右上角的搜索。当你创建一个问题时,你也会遇到类似的问题。你是说一个月的第一天?2013-09-13=>2013-09-02好的,我明白了。试试我的代码,希望这就是你想要的。请告诉我为什么这个问题被选为离题题题,这样我就可以确保我不会再犯同样的错误了。阿加尼没有投你反对票,但谁曾经投过反对票,问代码的问题必须证明对正在解决的问题的最低理解。包括尝试过的解决方案、它们不起作用的原因以及预期结果。另请参见:因为他也将其标记为关闭。请注意粗体部分。诸如此类的问题很多。请向右看“相关”下方。在提问之前,您还应该使用页面右上角的搜索。当你创建一个问题时,你也会遇到类似的问题。你是说一个月的第一天?2013-09-13=>2013-09-02好的,我明白了。试试我的代码,希望这就是你想要的。这实际上不是这个问题的正确答案$测试->修改“第一个星期一”;将DateTime对象更新到下周一。在某些情况下,你会在下个月的星期一结束。修改DateTime对象的正确方法是这样做:$test->modify'first monday';这其实不是这个问题的正确答案$测试->修改“第一个星期一”;将DateTime对象更新到下周一。在某些情况下,你会在下个月的星期一结束。修改DateTime对象的正确方法是这样做:$test->modify'first monday';
$Dates = array('2013-07-02', '2013-08-05', '2013-09-13');
foreach ($Dates as $Date)
{
$weekday = date('l', strtotime($Date));
if($weekday == 'Monday') {
echo "First Monday in list is - " . $Date;
break;
}
}
$Dates = array('2013-07-02', '2013-08-05', '2013-09-13');
foreach ($Dates as $Date)
{
$test = new DateTime($Date);
echo $test->modify('first monday')->format('Y-m-d');
}