Mysql/Php - 当前日期和时间

Posted

技术标签:

【中文标题】Mysql/Php - 当前日期和时间【英文标题】:Mysql/Php - Current date and time 【发布时间】:2011-04-06 19:30:53 【问题描述】:

我有一个查询,我想用当前日期时间更新列。我要更新的列是日期时间类型。

如何获取和设置?

else //If the last update is NULL, It must be players first page load. So set datetime equal to NOW
    $query = "UPDATE `stats` SET `last_ap_update` =    WHERE `member_id` = $_SESSION['SESS_MEMBER_ID']"; 
    $queryresult = mysql_query($insertqry);

【问题讨论】:

如果您对列使用timestamp 类型,它会在记录更新时自动执行此操作...dev.mysql.com/doc/refman/5.0/en/timestamp.html 这对我的目的不起作用。 【参考方案1】:

在查询中使用NOW() 将提供此功能。

else //If the last update is NULL, It must be players first page load. So set datetime equal to NOW
    $query = "UPDATE `stats` SET `last_ap_update` =  NOW()  WHERE `member_id` = $_SESSION['SESS_MEMBER_ID']"; 
    $queryresult = mysql_query($insertqry);

但如果在表格更新时随时更新,我建议将列更改为TIMESTAMP,这将在记录更改时自动更新为您的当前时间。

【讨论】:

请记住,mySql 存在时间单位小于秒的问题。如果您需要此功能,有一些不受支持的补丁程序。您可能只想在构建请求字符串时提供系统时间,并围绕 epoch + 宏秒格式工作(正如许多有审计需求的 MySQL 人员所做的那样)【参考方案2】:
else //If the last update is NULL, It must be players first page load. So set datetime equal to NOW
    $query = "UPDATE `stats` SET `last_ap_update` =  '".gmdate("Y-m-d H:i:s")."'  WHERE `member_id` = $_SESSION['SESS_MEMBER_ID']"; 
    $queryresult = mysql_query($insertqry);

你可以使用任何你想要的格式来代替gmdate("Y-m-d H:i:s")

【讨论】:

【参考方案3】:

您可以使用 mysql 函数 NOW() 来完成此操作,或者您可以将 $_SERVER['REQUEST_TIME'] 粘贴在其中,以便查询被 mysql 缓存。

【讨论】:

以上是关于Mysql/Php - 当前日期和时间的主要内容,如果未能解决你的问题,请参考以下文章

MySQL PHP插入新行,其中rowNum列值始终按日期和时间按时间顺序排列

MySQL,PHP;检测 dateTimePicker 日期是不是已被使用并禁用它

验证 php 文件中的开始日期和结束日期时出错

从日期选择器到 mysql/php 的奇怪日期格式

c++ 当前时间和日期获取

如何获取当前的日期和时间