【问题标题】:I need help adding 30 days to today's date using PHP [duplicate]我需要帮助使用 PHP 将 30 天添加到今天的日期 [重复]
【发布时间】:2013-02-23 16:58:31
【问题描述】:

我的网站有一个用户系统。我需要做一些事情,使今天的日期增加 30 天。

更新: 我决定使用整数而不是日期。

这就是我所做的。我进行了设置,以便当有人支付账单时,它会将他们的“天数”值设置为 (value) + 30

我做了一个 cron 作业,从每个用户的“天数”中抽出 1 天。 显然,我将 cron 作业设置为每天运行一次。

【问题讨论】:

标签: php


【解决方案1】:

使用strtotime 函数。

strtotime('+30 days', time());

【讨论】:

    【解决方案2】:

    如下使用strtotimedate

    echo date('Y-m-d', strtotime("+30 days"));
    

    <?php
       echo date('Y-m-d h:i:s')."\n";
    
       echo date('Y-m-d h:i:s', mktime(date('h'),date('i'),date('s'),date('m'),date('d')+30,date('Y')))."\n";
    
    ?>
    

    【讨论】:

      【解决方案3】:

      $NewDate=Date('y:m:d', strtotime("+30 days"));

      strtodate()

      int strtotime ( string $time [, int $now = time() ] )
      

      该函数期望得到一个包含英文日期格式的字符串,并将尝试将该格式解析为 Unix 时间戳(自 1970 年 1 月 1 日 00:00:00 UTC 以来的秒数),相对于给出的时间戳现在,如果没有提供现在,则为当前时间。

      【讨论】:

        【解决方案4】:

        首先你可以像这样添加日期

        $iSecsInDay = 86400;
        $iTotalDays = 30;
        $user_signup = time() + ($iSecsInDays * $iTotalDays);
        

        然后您可以使用时间戳以任何您想要的方式生成日期,例如

        $date = date('d-m-Y', $user_signup);
        

        完整的参考可以在这里找到。 http://php.net/manual/en/function.date.php

        【讨论】:

        • 语法错误,意外的 T_VARIABLE,期待 T_FUNCTION
        • 我不知道你是如何使用它的,也不知道你在哪里使用它。要进行计算,您可能必须在构造函数或函数中移动它。
        • 基本上我正在做的是创建一个名为 $user_signup 的变量,它需要 = 今天的日期加上 1 个月。然后我使用 insert into blah blah blah 将其写入 mysql 数据库。有意义吗?
        • 为什么不移动插入和执行 mysql 内容的函数中的代码。为什么你想要一个常数?如果你想要一个常数。然后需要更改代码。您也想在其他地方使用常量吗?是/否?
        • 嗯...我会试着把它移到mysql函数中。
        【解决方案5】:

        如果您想在实际日期上加上 +30 天并在 mysql 中引入,您可以使用:

        $nextMonthDate = date("Y-m-d H:i:s", strtotime("+30 days",time()));

        Y-m-d H:i:s 是 MySQL DATETIME 的格式。

        示例:

        实际日期: echo echo date("Y-m-d H:i:s",time()); --> 2013-03-08 00:37:23

        +30 天:echo date("Y-m-d H:i:s", strtotime("+30 days",time())); --> 2013-04-07 00:37:23

        【讨论】:

          【解决方案6】:

          您不能将函数直接分配给类的变量。这就是您收到附加错误的原因。考虑将其移至您的构造函数。

          ... 
          private $user_signup = null;
          
          public function __construct() {
              $date = new DateTime();
              $date->add(new DateInterval('P30D'));
              $this->user_signup = $date->format('Y-m-d');
          }
          ...
          

          另请参阅Assigning a function's result to a variable within a PHP class? OOP Weirdness 了解更多信息。

          【讨论】:

            猜你喜欢
            • 2021-06-16
            • 2017-12-03
            • 2011-04-18
            • 1970-01-01
            • 2021-03-05
            • 1970-01-01
            • 1970-01-01
            • 2020-05-12
            • 1970-01-01
            相关资源
            最近更新 更多