Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP从HTML表单回显日期并将其从Y-m-d格式化为d-m-Y错误31-12-1969_Php_Html_Mysql_Forms_Date - Fatal编程技术网

PHP从HTML表单回显日期并将其从Y-m-d格式化为d-m-Y错误31-12-1969

PHP从HTML表单回显日期并将其从Y-m-d格式化为d-m-Y错误31-12-1969,php,html,mysql,forms,date,Php,Html,Mysql,Forms,Date,我有一个文本链接来传递一个Y-m-d格式的日期GET,因为它是从MySQL提交的。 接收此GET的页面使用以下代码来回显我从上一页获得的日期 链接是这样的 page.php?thedate=2015-06-30 <?php echo date('d-m-Y',strtotime($_GET["thedate"]));?> 我需要显示此日期的页面必须像这样转换此日期 page.php?thedate=2015-06-30 <?php echo date('d-m-Y',st

我有一个文本链接来传递一个Y-m-d格式的日期GET,因为它是从MySQL提交的。 接收此GET的页面使用以下代码来回显我从上一页获得的日期

链接是这样的

page.php?thedate=2015-06-30
<?php echo date('d-m-Y',strtotime($_GET["thedate"]));?>
我需要显示此日期的页面必须像这样转换此日期

page.php?thedate=2015-06-30
<?php echo date('d-m-Y',strtotime($_GET["thedate"]));?>

可能是什么问题?

您的代码看起来正常。但是很少有人会想到,会出什么问题:

首先:尝试以下代码:

<?php
    var_dump($_GET['thedate']); // check what it is?
    date_default_timezone_set('Europe/Warsaw'); // set default timezone to your zone / user zone
    echo date('d-m-Y',strtotime('2015-06-30')); // check that date is working with plain text
?>
“警告!超全局变量$\u GET和$\u请求已被解码。对$\u GET或$\u请求中的元素使用urldecode()可能会产生意外和危险的结果。”


来源:

我似乎无法重现错误,我得到了
30-06-2015
在你尝试在任何地方回显日期之前,你对日期做了什么吗?没有,这就是为什么奇怪的原因尝试
日期的值肯定不是“2015-06-30”。您试图转换为时间的值无效,因此它呈现01-01-1970减去一些小时,这是由于您的时区。IMHO在服务器配置中设置默认时区比在每个php文件中声明它要好得多。是的,您是对的。对于100%安全解决方案,我们可以设置:date\u default\u timezone\u set(date\u default\u timezone\u get());在index.php或配置类开头的某个地方。链接: