date("H:i") plus 30 minuten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

David M

David M

24/09/2012 17:23:16
Quote Anchor link
Hi,

functie :echo date("H:i") zal de huidige tijd aangeven. (stel 17:22)

Hoe geef ik de huidige tijd plus 30 minuten aan? (dus 17:53)

beste groet,

David
 
PHP hulp

PHP hulp

18/12/2024 03:15:07
 
Wouter J

Wouter J

24/09/2012 17:29:01
Quote Anchor link
Ik ga ervanuit dat je PHP gebruikt en dus zou ik strtotime gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo date('H:i', strtotime('+ 30 minutes'));
?>


De strtotime geeft een datum/tijd terug, in dit geval de huidige tijd + 30 minuten. Met de date functie kun je dan het gewenste formaat pakken. Als 2e parameter kan je hier de datum/tijd geven, in dit geval degene die je terug krijgt van strtotime.
 
Marvin H

Marvin H

24/09/2012 17:31:10
Quote Anchor link
probeer deze eens :)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$tijdnu
= strtotime("now");
echo date("H:i", strtotime('+30 minutes', $tijdnu));

?>
 
David M

David M

24/09/2012 17:34:03
Quote Anchor link
En wordt deze afgeraden of te omslachtig:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$timestamp
= date("U")+(1800);

// Convert the timestamp
$date = date("D, d M Y", $timestamp);
$time = date("H:i", $timestamp);

// Echo out the timestamp
echo "<strong>Date: </strong>".$date."<br/ >";
echo "<strong>Time: </strong>".$time;
?>


Toevoeging op 24/09/2012 17:37:02:

iig bedankt Wouter en Martin,

kan weer verder.

mvg,
David
 
Wouter J

Wouter J

24/09/2012 17:56:31
Quote Anchor link
Marvin, die now is niet nodig. De 2e param is standaard now.

Afgeraden weet ik niet, maar ik geef altijd de voorkeur aan de PHP standaard functies ipv zelfgemaakte dingen die ong. hetzelfde doen.

Nog eentje die tegenwoordig helemaal in wordt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

$date
= new DateTime();
// PT30M : PT => Period Time; 30M => 30 Minutes
$date->add(new DateInterval('PT30M'));

// of de, ietwat makkelijkere method:
$date->add(DateInterval::createFromDateString('+ 30 minutes'));

echo $date->format('D, d M Y');
echo $date->format('H:i');
?>


Of als je van functies houdt ipv object:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$date
= date_create();
date_add($date, date_interval_create_from_date_string('30 minutes'));

echo date_format($date, 'D, d M Y');
echo date_format($date, 'H:i');
?>
Gewijzigd op 24/09/2012 18:02:39 door Wouter J
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

24/09/2012 23:50:59
Quote Anchor link
David M op 24/09/2012 17:34:03:
En wordt deze afgeraden of te omslachtig:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$timestamp
= date("U")+(1800);

// Convert the timestamp
$date = date("D, d M Y", $timestamp);
$time = date("H:i", $timestamp);

// Echo out the timestamp
echo "<strong>Date: </strong>".$date."<br/ >";
echo "<strong>Time: </strong>".$time;
?>


Toevoeging op 24/09/2012 17:37:02:

iig bedankt Wouter en Martin,

kan weer verder.

mvg,
David


Het simpelste blijft toch altijd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$now
= time() + 1800:
?>

Niet versie afhankelijk en geen conversies waar PHP geen ster in is.
Gewijzigd op 24/09/2012 23:51:41 door Ger van Steenderen
 
Kris Peeters

Kris Peeters

25/09/2012 14:55:44
Quote Anchor link
Via het datetime object (PHP 5 >= 5.2.0) kan het ook.
bv.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$date
= date_create("now");
$now_time = $date->format('H:i:s');

// 30 minuten later bij optellen
$date->modify('+ 30 min');
$later_time = $date->format('H:i:s');

echo 'nu: ' . $now_time .'<br>30 minuten later: ' . $later_time;
?>


Daar hoef je helemaal niets om te rekenen. Je moet ook niet telkens via seconden werken. Je kan onmiddellijk een datetime formaat gebruiken om de datum/tijd te setten. Daarmee kan je bv. rechtstreeks bij het fetchen van een (database) record de row['datum_veld'] gebruiken.

bv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$a
= date_create('2012-09-15 12:13:00')
...

while($row = mysql_fetch_assoc($res)) {
$datum = date_create($row['datum']);
...

?>


Ik heb (vooral dan) mktime altijd gebruiksonvriendelijk gevonden. Het zorgt vaak ook voor situaties waarbij je de overgangen van zomer- op winteruur meestal niet in rekening neemt; en je redeneringsfouten maakt.
Met de Datetime class heb je dat niet.
Gewijzigd op 25/09/2012 16:02:44 door Kris Peeters
 
Wouter J

Wouter J

25/09/2012 15:57:32
Quote Anchor link
Kris, dat heb ik ook al verteld :) Weet je trouwens dat je nu de procedurale en object kant van het DateTime object mixt? De date_create is van de procedurale en al het andere van het object. Je kan dan denk ik beter meteen objecten gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$datum
= new \DateTime('2012-09-15 12:13');
?>
 
Kris Peeters

Kris Peeters

25/09/2012 16:04:11
Quote Anchor link
O, sorry, daar had ik overgelezen.

Ik vind date_create wel een handige wrapper. Tja, je hebt wel gelijk.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.