【发布时间】:2011-07-24 18:35:42
【问题描述】:
我正在尝试使用符合 MySQL 日期时间字段的 PHP 或 Javascript 将字段的值通过隐藏的表单字段设置为当前日期和时间。
【问题讨论】:
标签: php javascript mysql html timestamp
我正在尝试使用符合 MySQL 日期时间字段的 PHP 或 Javascript 将字段的值通过隐藏的表单字段设置为当前日期和时间。
【问题讨论】:
标签: php javascript mysql html timestamp
您可以使用 PHP 获取和格式化当前系统日期/时间,以便在 MySQL 中使用,如下所示:
$now = date('Y-m-d H-i-s');
【讨论】:
您可以使用NOW() 在 SQL 插入查询中直接设置当前日期和时间:
INSERT INTO table_name (current_time, column2, column3,...)
VALUES (NOW(), value2, value3,...)
其中current_time 是您要放置当前日期和时间的字段。
【讨论】:
使用DEFAULT CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP 创建列
这些将使得插入的任何新行都具有当前时间,并在更新列时再次更新。
例子:
CREATE TABLE test (last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
编辑:没关系,这将使用 TIMESTAMP 列,而不是 DATETIME。其他答案会做你想做的。
【讨论】:
<?php echo time(); ?>
将输出一个漂亮的简单整数,您可以将其直接传递到 MySQL 并使用 FROM_UNIXTIME() 转换为本地 mysql 日期时间值。它将为您省去将数据格式化为漂亮的YYYY-MM-DD hh:mm:ss 字符串的麻烦。
【讨论】:
INSERT (datefield) VALUES (FROM_UNIXTIME($timefield)) 类型的事情。它只是一个整数,你必须明确告诉 MySQL 它应该被视为一个时间戳。
$current = date_timestamp_set(date_create(), time());
【讨论】: