首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建包含七个后续日期的日历

创建包含七个后续日期的日历
EN

Stack Overflow用户
提问于 2018-02-14 07:29:52
回答 2查看 38关注 0票数 0

我想在接下来的7天画一张万年历

代码语言:javascript
复制
$dt = new DateTime;
if (isset($_POST['annee']) && isset($_POST['semaine'])) {
    $dt->setISODate($_POST['annee'], $_POST['semaine']);
} else {
    $dt->setISODate($dt->format('o'), $dt->format('W'));
};
$annee= $dt->format('o');
$semaine= $dt->format('W');

$KlendrierPerpetuel="";
$KlendrierPerpetuel.='<table><tr>';
do {
    $KlendrierPerpetuel.='<td>'.$dt->format('D').'</td>';
    $dt->modify('+1 day');
} while ($semaine == $dt->format('W'));
$KlendrierPerpetuel.='</tr></table>';
echo $KlendrierPerpetuel;

它会创建一个表宽为星期的日期,而不是下一天的7

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-14 11:27:51

好吧..。实际上要简单得多。

代码语言:javascript
复制
$format = "y/m/d";
$date_arr = [];
for($i = 0; $i < 6; $i ++){
    if($i = 0)
        $date_arr[] = date($format);
    else
        $date_arr[] = date($format, strtotime("+$i day");
}

strtotime可以从"+1天“或"+1周”这样的字符串中解析日期,因此使用第二天是非常简单的。所以你只需要循环这个过程,它就完成了。

PS :在你最初的帖子中,你似乎得到了一些post参数,你只需要把它们放在if的strtotime()中。

票数 1
EN

Stack Overflow用户

发布于 2018-02-14 14:03:30

您正在寻找的东西并不完全清楚,但我尽我所能添加了用户控件来实现它。您应该能够根据自己的需要对其进行修改:

代码语言:javascript
复制
<html>

<form method='post'>
    <input type='numeric' name='year' value='<?= $_POST['year'] ?: date('Y') ?>'>
    <input type='numeric' name='week' value='<?= $_POST['week'] ?: date('W') ?>'>
    <input type='submit'>
</form>

<?php

$dt = new DateTime;
if (isset($_POST['year']) && isset($_POST['week'])) {
    $dt->setISODate($_POST['year'], $_POST['week']);
} else {
    $dt->setISODate($dt->format('o'), $dt->format('W'));
};
$year= $dt->format('o');
$week= $dt->format('W');

$KlendrierPerpetuel="";
$KlendrierPerpetuel.='<table><tr><td>'.$dt->format('M').'</td>';                                                                                                                                                                                                                                       
do {
    $KlendrierPerpetuel.='<td>'.$dt->format('d').'<br>'.$dt->format('D').'</td>';
    $dt->modify('+1 day');
} while ($week == $dt->format('W'));
$KlendrierPerpetuel.='<td>'.$dt->format('M').'</td></tr></table>';
echo $KlendrierPerpetuel;

这允许用户指定年份和周数,并显示该周的日期。

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

https://stackoverflow.com/questions/48777371

复制
相关文章

相似问题

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