首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为给定的标准查找新年代码

为给定的标准查找新年代码
EN

Stack Overflow用户
提问于 2013-06-15 08:53:03
回答 2查看 266关注 0票数 0

我看到了一篇有趣的文章,我想为此写一段代码。

你好,一周中的哪一天,星期六还是星期天,元旦常在哪一天?

参考资料:http://answers.yahoo.com/question/index?qid=20080731110435AAlyxd4

我找到了解决办法 日历每400年重复一次,但由于2100年等不是闰年,所以分布不是even.It,结果表明,每400年1月1-58日、星期二和星期五发生的次数最多。 星期一- 56星期二- 58星期三- 57星期四- 57星期五- 58星期六- 56星期日- 58

但是我不明白,我怎么能在PHP中复制这个呢?

对此,谁认为我没有尝试和试图贬低我的问题。我已经测试过密码了。

代码语言:javascript
复制
function DayOfNewYearsDay($beginYear,$endYear)
{
for($i=$beginYear;$i<$endYear;$i++)
{
$day = date("l", mktime(1, 1, 1, 1, 1, $i));
if(isset ($days[$day]))
$days[$day]++;
else
$days[$day]=1;
}
return $days;
}

echo  print_r(DayOfNewYearsDay(2000, 2400));

但我没有得到58个星期天的答案

知道吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-15 10:09:24

使用DateTime对象可以绕过mktime中的php限制:

代码语言:javascript
复制
function DayOfNewYearsDay ($beginYear, $endYear)
{
    for ($i = $beginYear; $i < $endYear; $i++) {
        $date = new DateTime;
        $date->setDate($i, 1, 1);
        $day = $date->format('l');
        if (isset ($days[$day]))
            $days[$day]++;
        else
            $days[$day] = 1;
    }

    return $days;
}

http://codepad.org/iGou6dk4

票数 1
EN

Stack Overflow用户

发布于 2013-06-15 09:06:26

我不想用勺子喂你。所以给出一个简单的算法

  1. 创建数组A
  2. 号码范围为1600至2000
    1. 创建日期为"Number-01-01“的datetime对象。
    2. 确定每周的约会时间
    3. 1日增量

  1. 只需打印数组。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17121844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档