【问题标题】:Set current time field for MySQL为 MySQL 设置当前时间字段
【发布时间】:2011-07-24 18:35:42
【问题描述】:

我正在尝试使用符合 MySQL 日期时间字段的 PHP 或 Javascript 将字段的值通过隐藏的表单字段设置为当前日期和时间。

【问题讨论】:

    标签: php javascript mysql html timestamp


    【解决方案1】:

    您可以使用 PHP 获取和格式化当前系统日期/时间,以便在 MySQL 中使用,如下所示:

    $now = date('Y-m-d H-i-s');
    

    【讨论】:

      【解决方案2】:

      您可以使用NOW() 在 SQL 插入查询中直接设置当前日期和时间:

      INSERT INTO table_name (current_time, column2, column3,...) 
      VALUES (NOW(), value2, value3,...)
      

      其中current_time 是您要放置当前日期和时间的字段。

      【讨论】:

        【解决方案3】:

        使用DEFAULT CURRENT_TIMESTAMPON UPDATE CURRENT_TIMESTAMP 创建列

        这些将使得插入的任何新行都具有当前时间,并在更新列时再次更新。

        例子:

        CREATE TABLE test (last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
        

        编辑:没关系,这将使用 TIMESTAMP 列,而不是 DATETIME。其他答案会做你想做的。

        【讨论】:

          【解决方案4】:
          <?php echo time(); ?>
          

          将输出一个漂亮的简单整数,您可以将其直接传递到 MySQL 并使用 FROM_UNIXTIME() 转换为本地 mysql 日期时间值。它将为您省去将数据格式化为漂亮的YYYY-MM-DD hh:mm:ss 字符串的麻烦。

          【讨论】:

          • 你必须做 INSERT (datefield) VALUES (FROM_UNIXTIME($timefield)) 类型的事情。它只是一个整数,你必须明确告诉 MySQL 它应该被视为一个时间戳。
          【解决方案5】:

          $current = date_timestamp_set(date_create(), time());

          【讨论】:

            猜你喜欢
            • 2016-09-29
            • 2014-07-02
            • 1970-01-01
            • 2012-12-21
            • 2010-11-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-04-15
            相关资源
            最近更新 更多