MySQL文档关于NOW()函数..。
以‘YYYY:MM:SS’或YYYYMMDDHHMMSS.uuuuuu格式返回当前日期和时间,这取决于函数是在字符串还是数字上下文中使用。该值在当前时区中表示。
这是我的疑问..。
$sql = "
INSERT INTO `users` ( `username`, `password`, `email`, `time` )
VALUES ('{$username}', '" . sha1( $password ) . "', '{$email}', NOW() )
";问题是,在数据库中,我没有完整的日期,但只有一年。有什么解决办法吗?
发布于 2011-03-06 10:18:24
它是int(10),就像我使用UNIX时间戳时一样。
NOW()只适用于DATETIME字段。
您需要将您的字段转换为DATETIME (较好的方法),或者使用UNIX_TIMESTAMP():将NOW()转换为UNIX时间戳
UNIX_TIMESTAMP(NOW())发布于 2012-11-07 10:35:02
我也遇到了同样的麻烦,在我读到这个问题之前,我被困了很久。我使用mysql的now()函数来更新成员的上次登录时间。
MySQL的now()将日期时间作为字符串返回,就像YYYY-MM-DD HH:MM:SS一样--在我停止使用它的某个地方,并开始使用time() (UNIXTIME) (使使用起来更容易),它返回一个数字字符串,比如1352254528。但是您不能在日期时间字段中存储这样的数字字符串,同样,您也不能将YYYY-MM-DD HH:MM:SS存储在int(11)字段中。后者只会导致储存一年。
最后,您应该使用:
如果要使用int(11)的time()函数将时间存储为数字串,则使用DATETIME field (如果要使用MySQL的NOW()函数)。
发布于 2011-03-06 10:19:37
试一试
strtotime(now())您肯定应该使用timestamp或datetime作为列的类型。
https://stackoverflow.com/questions/5209864
复制相似问题