Ich habe das Handbuch gelesen - kann aber anscheinend nicht finden, was ich brauche. Ich brauche das tatsächliche Datum nicht - ich brauche das Datum, von dem ich sage, dass es von der URL stammt

Das habe ich aktuell:

//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);

Wenn ich $ date wiedergebe, wird es korrekt für die in der URL angegebene Variablenzeichenfolge gelesen, aber $ dispdate gibt immer den aktuellen Tag zurück, an dem es tatsächlich heute ist. Ich brauche derzeit $, um auch der Zeitstempel des Datums in der URL zu sein.

php
-1
D Rice 29 Dez. 2015 im 20:23

3 Antworten

Beste Antwort

Sie scheinen aus den GET-Parametern einen gültigen, lesbaren Datenstring zu erstellen. Verwenden

$currently = strtotime($date).

Es wird ein Zeitstempel zurückgegeben, mit dem Sie $dispdate erstellen können, wie Sie es bereits mit der Funktion date getan haben.

1
some-non-descript-user 29 Dez. 2015 im 17:46

Es scheint, als ob nicht der gesamte Code des OP veröffentlicht wurde. Dies basiert also auf dem, was bekannt ist.

In der Schlange:

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

Sie verwenden Variablen, die uns nicht angezeigt werden (wir müssen also davon ausgehen, dass sie auf nichts festgelegt sind). Über dieser Zeile erstellen Sie eine Variable "$ date" mit den URL-Parametern. Dies sollte in Ihrer mktime-Funktion verwendet werden.

1
Source Matters 29 Dez. 2015 im 17:40

Sie können ein Datetime-Objekt verwenden, die angegebenen Parameter übergeben und die Ausgabe beliebig formatieren.

<?php

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

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

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

?>
1
eselskas 29 Dez. 2015 im 17:41