Stel ik heb een datum en wil daar handmatig een tijd aan toevoegen is dit dan toegestaan?

$evenement['inschrijfdatum'] = 2016-02-12

$maxinschrijfdatum = date("Y-m-d 16:00", strtotime($evenement['inschrijfdatum']));

En kan ik er dan ook nog mee aan de slag?

Zoals
if($maxinschrijfdatum) <= now() )
{
}else{
}
of zoiets:

$maxinschrijfdatum = date_add($evenement['inschrijfdatum'],date_interval_create_from_date_string("16 hours"));



of zijn er betere manieren om hier mee te werken.
Ja dat kan, je kan gewoon van de datum een string maken en hier een andere string met tijd eraan vast plakken. Deze haal je vervolgens door de date([format], [timestamp]) heen met de strtotime functie. Dus op de volgende manier:


<?php
$datum = '2016-02-12';
$tijd = '00:45';
$date_string = $datum . ' ' . $tijd;

// converteer je string naar een timestamp, dit kan eventueel ook in de date functie maar ik heb het hier even apart van elkaar laten zien.
$timestamp = strtotime($date_string);

// maak nu van je timestamp weer een datum.
$date_format = date('d-m-Y H:i:s', $timestamp);

if ($date_format <= date())
{
// voer hier je code uit
}
?>


Ik heb dit niet getest maar dit is volgens mij wel dè manier. Succes in ieder geval :)
Het lijkt erop dat TS gegevens uit de database met PHP aan het filteren is.
Dit gaat ook in met SQL, en SQL is daar beter geschikt voor dan PHP.

SELECT
	titel
FROM
	evenementen
WHERE
	inschrijfdatum >= IF(CURRENT_TIME <= '16:00:00', CURRENT_DATE, CURRENT_DATE + INTERVAL 1 DAY)

maar minstens 2 dagen per jaar bestaan niet uit 24 uur / 86400 seconden.

En waarom zou je tijden middels aantallen seconden willen aanpassen:

datum + INTERVAL 1 DAY

is toch veel eenvoudiger?

Reageren