php - 如何让 PHP 查看日期时间值

标签 php mysql datetime

我通过 URL 将以下值传递给 PHP:

&newtimestamp=2016-12-21%2014:44:44.

我尝试使用 + 而不是 %20

在 PHP 中我有这个:

$newtimestamp = $_GET["newtimestamp"]; 

如果我这样做,它会正确显示时间戳:

echo ($newtimestamp);

但是当尝试时:

echo date_format($newtimestamp,'U');

echo date_format($newtimestamp,'Y-m-d H:i:s');

我根本没有得到任何输出。稍后在脚本中,输入用于与 SQL 表进行比较:

$sql = ("SELECT sender,subject,timestamp,threadid,username,notify,msgtype FROM Messages WHERE sender = '$usernametmp' AND subject !=''  AND timestamp > '$newtimestamp' ORDER BY timestamp");

我根本没有得到任何结果。

如果我手动将时间戳设置为

,我确实会得到结果
$newtimestamp = '1985-10-07 11:42:12';

我想我需要将其定义为日期时间:

$timestamp = new DateTime($newtimestamp); 

但随后我收到服务器错误。 顺便说一句,PHP 版本是 5.3。并且需要由我的托管提供商进行更改。如果这就是解决方案,是否有很多在 5.3 上运行的东西将不再在 5.5 或 5.6 上运行(这就是他们提供的)?

我希望有人能看到我在这里做错了什么,提前致谢!

最佳答案

您需要使用 date_create 函数并解码 GET 上的 URL,如下所示:

<?php
$newtimestamp=date_create(urldecode($_GET['newtimestamp']));
echo date_format($newtimestamp,"Y/m/d H:i:s");

关于php - 如何让 PHP 查看日期时间值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41420443/

相关文章:

php - 构建一个 mysqli 查询,按顺序和每页显示

mysql - 比较同一列和同一表中的相应行

flutter DateTime 显示 10 月有 32 天

sql-server - SQL Server 特定日期格式 DD MM YYYY

.net - DateTimeConverter 从 UTC 字符串转换

PHP SQL 查询构建引擎

php - 带有 WAMP 的 Windows 7 上的 PEAR 和 PHPUnit

javascript - HTML表单本地存储

php - 选择表 A 中的所有元素,按表 B 中链接到每个项目的条目数排序

java - 为什么 INSERT 查询在此 HttpServer 代码中不起作用