Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在php中查找一年中的剩余天数_Javascript_Php_Html - Fatal编程技术网

Javascript 在php中查找一年中的剩余天数

Javascript 在php中查找一年中的剩余天数,javascript,php,html,Javascript,Php,Html,我需要帮助找出一年中剩下多少天 考虑2013年 在PHP中,周数从1-52开始 12月30日和31日的最后几天的周数为1 我想知道一年有多少这样的日子。 2013年,有2个这样的DYA 2012年有1个这样的日子检查哪一天是12月31日,然后在一周的第一天得到差值。 你还必须数星期一 $dw = date( "w", $timestamp); 周日$dw为0,周六为6。因此,只有当结果为0或更大时,剩余天数才会出现 未测试的溶液: $dw = date( "w", $timest

我需要帮助找出一年中剩下多少天

考虑2013年 在PHP中,周数从1-52开始 12月30日和31日的最后几天的周数为1

我想知道一年有多少这样的日子。 2013年,有2个这样的DYA
2012年有1个这样的日子

检查哪一天是12月31日,然后在一周的第一天得到差值。 你还必须数星期一

$dw = date( "w", $timestamp);
周日$dw为0,周六为6。因此,只有当结果为0或更大时,剩余天数才会出现

未测试的溶液:

       $dw = date( "w", $timestamp);


    if ($dw > 0){
      echo $dw;
    }
else {
echo "no left over"
}

可以使用DateTime对象执行此操作

$Date = new DateTime('31-12-2013');

$count = 0;
while($Date->format('W') == 1) {
    $count++;
    $Date->modify('-1 day');
}

echo $count;

这是一种很好的方式,代码主要是为自己说话:

<?php

$lastSunday = new DateTime('last Sunday of December 2013');
$lastDay    = new DateTime('last day of December 2013');

// $leftovers will be of type DateInterval
$leftovers  = $lastSunday->diff($lastDay);

echo $leftovers->d . ' leftover days';

检查哪一天是12月31日,然后将差额计算到星期一Jacob@user3148470嗯,也许是因为没有?从2015年到2018年,没有一天是在年底的第一周。@GertB。为什么?你总是可以假设一年的最后一天是31-12,那么这有什么问题吗?@Benz我不是说这不起作用。但是您创建了一个包含硬编码日期的变量$date。如果一个同事写了一段新代码,看到一个$date变量,他可能会使用它,导致bug。最好是编辑,比如使用另一个变量名,比如$endYearDate,或者使用软代码year@GertB. 我同意在贵公司的存储库中使用此工具时存在风险。但我们在stackoverflow社区,我们在这里帮助人们使用示例!。在这种情况下,您的解决方案是什么?添加另一个日期为字符串的变量?@Benz我添加了一个答案,是的,我们正在进行堆栈溢出,在这里我们帮助人们提供示例,但也改进了给出的答案。当我说硬编码日期是不好的做法时,我并不是说要冒犯你。