欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

怎样向表里面插入当前时间呢?

程序员文章站 2022-06-06 21:24:31
...
之前是下面代码这样插入数据的 现在表里面增加了一个time列 类型为TIMESTAMP 我就是想把提交数据时的时间插入到表里面 我下面这个代码应该怎么改呢?只改这里就行了吗?
$stmt=$pdo->prepare("insert into blog(tid,title,content,name)values(:tid,:title,:content,:name)");
$stmt->execute($_POST);

回复内容:

之前是下面代码这样插入数据的 现在表里面增加了一个time列 类型为TIMESTAMP 我就是想把提交数据时的时间插入到表里面 我下面这个代码应该怎么改呢?只改这里就行了吗?

$stmt=$pdo->prepare("insert into blog(tid,title,content,name)values(:tid,:title,:content,:name)");
$stmt->execute($_POST);

PHP.ini中用date.timezone这个选项设置时区,但默认是关闭的
PHP解释显示的时间为“格林威治标准时间”,与我们本地的时间相差8个小时---------时区一定要正确

NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中。

CURDATE()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。

CURTIME()以’HH:MM:SS’的格式返回当前的时间,可以直接存到TIME字段中。

  1. mysql 语句 insert into xxxx (addDateTime) values (now())
    2.mysql语句`insert into now (id ,nowtime) values('1',NOW() )

记得要手动修正时差,如下:
$timeoffset = 8;
echo gmdate("Y-m-d H:i:s", mktime() + $timeoffset * 3600) . "
";
echo gmdate("Y-m-d H:i:s", time() + $timeoffset * 3600) . "
";
echo date("Y-m-d H:i:s", mktime() + $timeoffset * 3600) . "
";
echo date("Y-m-d H:i:s", time() + $timeoffset * 3600) . "
";
都输出如下格式:2007-11-24 17:41:58
$t = gmdate("Y-m-d H:i:s", mktime() + 8 * 3600)
$sql = "insert into xxxx (addDateTime) values ($t)"

相关标签: php