【问题标题】:php date function, for previous/next day [closed]php日期函数,用于前一天/第二天[关闭]
【发布时间】:2012-09-24 17:46:49
【问题描述】:

有没有简单的方法可以用php中的日期函数显示前几天和后几天

<?php
echo date ("M m, l")
?>

例如

那只会显示 9 月 9 日,星期一

但是有什么方法可以让它通过单击按钮(下一步)显示 9 月 10 日,星期二?

【问题讨论】:

  • 如果您希望 PHP 为您执行此操作,则必须重新加载页面。您是否正在寻找“昨天”和“明天”?还是想反复点击下一个/上一个以不断获得不同的日期?
  • 你能告诉我们你尝试了什么吗?
  • 之前已经回答了无数次。提问前请使用搜索功能。
  • 他们不会白白叫我没受过教育的家伙。

标签: php html date


【解决方案1】:

查看DateTime relative formats

<?php
$date = new DateTime('2006-12-12');
$date->modify('tomorrow');
echo $date->format('M m, l');

$date->modify('yesterday');
echo $date->format('M m, l');
?>

【讨论】:

  • 我试试看,谢谢
  • 或者直接:$dateTime = new DateTime('yesterday');或 $dateTime = new DateTime('-2 days');或 $dateTime = new DateTime('-10 years');或 $dateTime = new DateTime('+2 个月')
  • 这么简单的解释,谢谢。约翰回答的重要方面是您可以手动设置日期,@CappY 似乎在他的评论中忘记了这一点。
【解决方案2】:

使用mktime函数:

echo date ("M m, l", mktime(0, 0, 0, 9, 10, 2012))

来自date手册页:

$tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));
$nextyear  = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);

【讨论】:

    【解决方案3】:

    您可以使用 strtotime 来添加时间

    date('Y-m-d', strtotime(' +1 day'))
    

    以上内容会在当前日期上增加 1 天......

    查看更多信息 http://www.brightcherry.co.uk/scribbles/php-adding-and-subtracting-dates/

    【讨论】:

      【解决方案4】:
      date('M m,l',strtotime('+1 day'))
      date('M m,l',strtotime('-1 day'))
      

      【讨论】:

        【解决方案5】:
         $cd = strtotime(date ("M m, l"));
         $mth = 1; // adding 1 day with the current date
         $retDAY = date('Y-m-d', mktime(0,0,0,date('m',$cd)+$mth,date('d',$cd),date('Y',$cd))); 
        echo $retDAY ; // Output 2012-10-10
        

        查看THIS页面,有很多类似上面的例子,可以清楚地了解上述功能。

        【讨论】:

          【解决方案6】:
          $tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
          $tomorrow = date("F j, l",$tomorrow); 
          $yesterday=mktime(0, 0, 0, date("m")  , date("d")-1, date("Y"));
          $yesterday=date("F j, l",$yesterday);
          echo $tomorrow; 
          echo $yesterday;
          

          【讨论】:

            【解决方案7】:

            这可能有助于显示第二天:

            <?php
            $tomorrow = time() + (24 * 60 * 60); // current time + 24 hours * 60 minutes * 60 seconds
            echo 'Tomorrow: '. date('M m, l', $nextWeek) ."\n";
            ?>
            

            time() - (24 * 60 * 60) 代表昨天。

            【讨论】:

            • PHP 手册建议不要直接添加秒数:“由于夏令时,这比简单地将一天或一个月中的秒数添加或减去时间戳更可靠。”
            • 哦..没想到:/
            猜你喜欢
            • 1970-01-01
            • 2012-10-08
            • 2011-08-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多