【问题标题】:MySQL datetime formatMySQL 日期时间格式
【发布时间】:2012-04-22 02:13:56
【问题描述】:

我正在用 HTML、PHP 和 MySQL 创建一个注册页面。我想在注册中添加一个隐藏字段作为加入日期。

最好是让隐藏字段包含当前日期和时间,还是将当前日期时间分配给一个变量并在 SQL 插入语句中使用它?

不管怎样,如果使用下面的隐藏表单域,那么日期时间存储为2010-07-06 07:55:12的日期格式是什么?

<input name="joindate" type="hidden" id="joindate"  value="<?php echo date(''); ?>">

【问题讨论】:

    标签: php mysql datetime date-formatting


    【解决方案1】:

    试试

     echo date('Y-m-d g:i:s',time()); //PHP
    

    我们的 Better MySQL 使用 datetime 归档并调用 `NOW()

     INSERT INTO registration (Name,Date) VALUES ('Jarlsberg Cheese',NOW()) ;
    

    在你的 SQL 语句中

    希望对你有帮助

    【讨论】:

    • 感谢 m8,我将使用 now()
    • 如果您想存储在UTC 时区,请使用UTC_TIMESTAMP 而不是NOW()。
    【解决方案2】:

    不要使用隐藏字段,将变量分配给当前日期/时间(或使用 MySQL 中的 NOW() 函数)并将其用作连接日期。

    原因是有人可以轻松地使用 Firebug 之类的工具来编辑隐藏的加入日期字段并将您不希望的值放入数据库中。

    【讨论】:

      【解决方案3】:

      您甚至可以在 SQL 中执行此操作:插入用户 (...,joindate) 值 (...,NOW());

      这样您就不必摆弄格式..

      编辑:但是如果您不喜欢这样,则将此值传递给客户端并返回是没有意义的。只需在创建插入查询时设置它。使用隐藏字段,您冒着有人实际更改您的值并将其设置为意外的风险..

      【讨论】:

      【解决方案4】:

      您提到的日期格式是有效的 MySQL 日期时间。在 PHP 中,您可以像这样回显它:

      date('Y-m-d H:i:s')
      

      或者,用你的例子:

      <input name="joindate" type="hidden" id="joindate"  value="<?php echo date('Y-m-d H:i:s'); ?>">
      

      【讨论】:

        【解决方案5】:

        与 Eric Petroelje 一致:

        创建一个类型为timestamp 的字段并设置为默认值CURRENT_TIMESTAMP。然后,您甚至不必在插入语句中提及此字段。它只是插入插入的时间和日期。

        简单。 :)

        【讨论】:

          【解决方案6】:

          是的,您可以使用 TIMESTAMP、DATETIME 甚至 VARCHAR 数据类型在数据库表中创建一列,并使用 now() 函数将日期和时间插入其中。它工作得很好。祝你好运!!!

          INSERT INTO table_name(Some_column,Date_column) VALUES ('Ephraim Tarfa',now()) ;

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-10-05
            • 2012-01-03
            • 1970-01-01
            • 2015-03-23
            • 1970-01-01
            • 1970-01-01
            • 2018-02-26
            • 2013-02-03
            相关资源
            最近更新 更多