首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php中将字符串转换为MySQL时间戳格式

问在php中将字符串转换为MySQL时间戳格式
EN

Stack Overflow用户
提问于 2011-08-19 03:27:49
回答 3查看 29.5K关注 0票数 16

我正在用php编写一个查询,使用从android java应用程序发送的字符串。

该查询类似于:

代码语言:javascript
复制
$insertSQL = sprintf("INSERT INTO app_DuckTag (taste) VALUES (%s) WHERE species=%s AND timestamp=%s",
                         GetSQLValueString($_POST['taste'], "text"),
                         GetSQLValueString($_POST['species'], "text"),
                         GetSQLValueString($_POST['timestamp'], "text"));

但我怀疑时间戳是否以字符串的形式存储在MySQL中。

如何将字符串转换为MySQL中的时间格式?

strtotime(string) php函数将其转换为unix时间。

但我猜,MySQL存储它的方式不同。谢谢。

编辑:这是它在MySQL中的显示方式: 2011-08-16 17:10:45

编辑:我的查询是错误的。Cannon使用带有Insert into的where子句。

查询必须更新....设置... = ...哪里..。

但公认的答案是在WHERE子句中使用时间的正确方式。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-19 03:48:21

这应该是全部内容:

代码语言:javascript
复制
date("Y-m-d H:i:s", strtotime($_POST['timestamp']));

如果要检查时区等,则应该使用strftime而不是date

票数 33
EN

Stack Overflow用户

发布于 2011-08-19 03:30:35

如果您可以将输入'string‘(您尚未提供接收它的格式)转换为Unix时间戳值,则可以轻松地将其转换为如下所示的MySQL日期时间格式:

代码语言:javascript
复制
$mysqldatetime = date("Y-m-d H:i:s", $unixTimeStampValue);

这将生成一个类似于以下内容的字符串:

2011-08-18 16:31:32

这是MySQL日期时间格式的格式。如果使用不同的时间格式,则date函数的第一个参数将不同。

有关详细信息以及格式化其返回值的其他方法,请参阅date函数的手册。

编辑

您正在接收MySQL datetime格式的字符串。清理后,可以直接将其插入到数据库中。对于MySQL来说,它可能是一个'datetime‘数据类型,但对于PHP来说,它只是一个字符串(就像你的整个SQL查询对PHP来说只不过是一个字符串)。

代码语言:javascript
复制
$timestamp = mysql_real_escape_string($_POST['timestamp']);

您应该能够安全地将其插入到数据库中的时间戳字段中。

票数 3
EN

Stack Overflow用户

发布于 2011-08-19 03:55:06

在mysql中有一个函数FROM_UNIXTIME。你为什么不想用它呢?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7112982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档