Avatar billede nemlig Professor
26. oktober 2016 - 22:47 Der er 2 kommentarer og
1 løsning

Ændre tidsformat og fratræk minutter

Hejsa.
Jeg har 3 inputfelter:

$_POST['dato']; //Fx. værdi = '28-07-2016'
$_POST['kl']; // Fx værdi = '23:45'
$minutter; //Fx. værdi = 120


De 2 værdier ønsker jeg sammensat til DATETIME-format til MySQL. Det gør jeg sådan her:
$ankomst = explode('-',$_POST['dato']);
$dato = $ankomst[2] . '-' . $ankomst[1] . '-' . $ankomst[0] . ' ' . $_POST['kl'] . ':00'; //giver dette resultat '2016-07-28 23:45:00'


Spørgsmål:
Jeg vil gerne have $minutter medtaget i den sammensatte DATETIME, således resultatet ovenfor giver '2016-07-28 21:45:00'.
Nogen gode forslag?
Avatar billede Slater Ekspert
26. oktober 2016 - 22:56 #1
Så $minutter skal trækkes fra tidspunktet, eller hvad?
Avatar billede Slater Ekspert
26. oktober 2016 - 23:06 #2
Uanset hvad ville jeg bruge PHP's DateTime objekt i stedet for alt det manuelle arbejde. Meget lettere at arbejde med.


$t1 = $_POST['dato'];
$t2 = $_POST['kl'];
$minutes = 120;

$time = DateTime::createFromFormat('d-m-Y H:i', $t1.' '.$t2);

// Træk $minutes minutter fra. (brug add i stedet for sub for at lægge til)
$time->sub(new DateInterval('PT' . $minutes . 'M'));

// Udskriv i Mysql DATETIME format.
echo $time->format('Y-m-d H:i:s');
Avatar billede nemlig Professor
27. oktober 2016 - 09:51 #3
Perfekt - det var lige præcis løsningen for mig. Og da jeg "bøvler" en del med omskrivninger af datoer og tidspunkter, er din løsning kærkommen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester