从URL字符串创建时间戳

时间:2015-12-29 17:23:40

标签: php

我已经阅读了手册 - 但似乎找不到我需要的东西。我不需要实际日期 - 我需要我告诉它的日期来自网址

这就是我目前的情况:

//create search string for posts date check
if($Day <= 9) {//ensure day is dual digit
$fix = 0; 
$Day = $fix . $Day;
}
$Day = preg_replace("/00/", "/0/", $Day);
$date = $_GET["Year"];
$date .= "-";
$date .= $_GET["Month"];
$date .= "-";
$date .= $_GET["Day"];


$currently = mktime (0,0,0,$Month,$Day,$Year,0); //create a timestamp from date components in url feed

//create display date from timestamp
$dispdate = date("l, j F Y",$currently);

当我回显$ date时,它正确读取URL中提供的变量字符串,但$ dispdate总是返回它实际上今天的当前日期。我现在需要$也是URL中日期的时间戳。

3 个答案:

答案 0 :(得分:1)

您似乎从GET参数构造有效,可读的日期字符串。使用

$currently = strtotime($date)

它将返回一个时间戳,您可以使用该时间戳创建$dispdate,就像您已经使用date函数一样。

答案 1 :(得分:1)

似乎并非所有OP代码都已发布,所以这是基于已知的。

在行中:

mktime (0,0,0,$Month,$Day,$Year,0)

您正在使用未向我们展示的变量(因此我们必须假设未设置为任何内容)。在这一行之上,你正在构建一个&#34; $ date&#34;带有URL参数的变量。这是mktime函数中应该使用的内容。

答案 2 :(得分:1)

您可以使用Datetime对象,传递给定的参数并根据需要格式化输出。

<?php

//replace with GET params
$year = 2015;
$month = 10;
$day = 01;

$datetime = new Datetime($year.'-'.$month.'-'.$day);

echo $datetime->format('Y-m-d');

?>