问题描述
我正在使用从 android java 应用程序发送的字符串在 php 中编写查询.
查询类似于:
I am writing a query in php using a string sent from a android java application.
The query is something like :
$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 以不同的方式存储它.谢谢.
But I doubt timestamp is stored as a string inside MySQL.
How should I convert the string to time format as in MySQL?
The strtotime(string) php function converts it to unix time.
But the MySQL stores it differently, I guess. Thank you.
这就是它在 MySQL phpmyadmin 中的显示方式:2011-08-16 17:10:45
This is how it shows up in MySQL phpmyadmin: 2011-08-16 17:10:45
我的查询是错误的.Cannon 使用带有 Insert into 的 where 子句.
查询必须是 UPDATE .... SET ... = ... WHERE ....
但公认的答案是在 WHERE 子句中使用时间的正确方法.
My query is wrong though. Cannon use a where clause with Insert into.
The query has to be UPDATE .... SET ... = ... WHERE ....
But the accepted answer is the correct way to use the time inside the WHERE clause.
推荐答案
应该就是这样了:
date("Y-m-d H:i:s", strtotime($_POST['timestamp']));
如果你想检查时区等你应该使用 strftime 而不是 date
if you want to check for timezones and such you should use strftime instead of date
这篇关于在php中将字符串转换为MySQL时间戳格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!