【问题标题】:how to set timestamp in the future以后如何设置时间戳
【发布时间】:2012-04-17 05:53:44
【问题描述】:

我有一个关于计算时间的问题。

我有一个包含 3 列的简单表格。第 1 列将由 NOW() 在 VALUE 中传递。第二列应该是 NOW() 时间戳加上 14 天。我以前从未使用过时间函数,所以我确实有一些理解问题。

如果我有:

$copy = "INSERT INTO table (a, b, c) VALUES (NOW(), $var_for_b, $var_for_c)";

用于

$var_for_b 

轻松

NOW()+14d

或者我必须设置一个带有时间/日期函数的变量吗?

如果使用变量,我可以在那里做什么?

$in_14_days =mktime(+14d)

我的第三列应该只是 NOW() 和 NOW(+14d) 之间的区别。

对于这个问题我很抱歉,但是时间函数太多了,我猜不出它们之间的区别。

【问题讨论】:

标签: php mysql variables time datetime


【解决方案1】:

您可以通过now() + interval 14 day 设置未来的日期。

所以你的插入语句变成:

$copy = "INSERT INTO table (a, b, c) VALUES (NOW(),now() + interval 14 day, $var_for_c)";

【讨论】:

  • 是不是像我想的那么简单。惊人的。以及如何计算a和b之间的差值是c?到目前为止,感谢所有人。
  • 是的,就这么简单,只需$copy = "INSERT INTO table (a, b, c) VALUES (NOW(),now() + interval $var_for_c, $var_for_c)"; 即可存档所需的结果。
  • 好的,感谢您提供更多信息。在我的情况下,我需要稍后处理 $var_for_c 。这就是为什么 $var_for_c 不仅可以是像 $var_for_c = "14"; 这样的字符串的原因。此脚本与检查 a 和 b 之间差异的登录脚本有关。如果 c 将降至 0,则将进行查询。所以我想我需要一个 c 变量来精确计算周期。
【解决方案2】:

你可以使用:

NOW() + INTERVAL 14 DAY

【讨论】:

    【解决方案3】:

    您可以使用date_add 让MySQL 使用date_add(now(), interval 14 day) 计算您的时间戳

    【讨论】:

      【解决方案4】:

      使用 PHP 和 MySQL 有几种方法可以做到这一点。

      我建议使用这种方法:

      UNIX_TIMESTAMP(NOW() + INTERVAL 14 DAY)
      

      所以它看起来像这样:

      $copy = "INSERT INTO table (a, b, c) VALUES (UNIX_TIMESTAMP(NOW() + INTERVAL 14 DAY), $var_for_b, $var_for_c)";
      

      或者,您可以使用 PHP 来做到这一点:

      $future = strtotime('+14 days');
      

      【讨论】:

        【解决方案5】:

        试试 strtotime("+14 day");看看是不是你要找的。​​p>

        (来自strtotime() manual

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-09
          • 2021-07-14
          • 2021-07-21
          • 1970-01-01
          • 2013-01-05
          • 2015-08-31
          相关资源
          最近更新 更多