DateTime gaat dat gewoon snappen, daar hoef je niets moeilijks voor te doen.quote:Op vrijdag 18 mei 2012 06:50 schreef xaban06 het volgende:
Hoi
Ik heb een datum + tijd formaat, een voorbeeld is: 2012-05-02T21:00:00 (2 mei 2012, 21:00). Welk functie kan ik het beste gebruiken om hiermee te werken? Volgens mij is het geen standaard format?
Is dat niet vanaf PHP 5.3.0? Tenminste een boel functies ervan. Ik draai 5.2.xquote:Op vrijdag 18 mei 2012 12:48 schreef Light het volgende:
[..]
DateTime gaat dat gewoon snappen, daar hoef je niets moeilijks voor te doen.
Bijna alles werkt vanaf 5.2.0, volgens mij alleen DateTime::diff() niet. Maar die heb je niet nodig in dit gevalquote:Op vrijdag 18 mei 2012 13:50 schreef xaban06 het volgende:
[..]
Is dat niet vanaf PHP 5.3.0? Tenminste een boel functies ervan. Ik draai 5.2.x
1 | $now = strtotime("now"); |
1 2 3 | $date = new DateTime('2012-05-19T07:56:00'); $date2 = $date->format('Y-m-d H:i:s'); $date3 = strtotime($date2); |
1 | $future = strtotime("+30 minutes"); |
1 | if ($date3 > $now && $date3 < $future) { echo "date3 binnen 30 min"; } else { echo "niet binnen 30 min"; } |
Je kunt ook DateTime objecten met elkaar vergelijkenquote:Op zaterdag 19 mei 2012 08:16 schreef xaban06 het volgende:
Cool!
[ code verwijderd ]
[ code verwijderd ]
Dit weergeeft de tijd terug in unixtime.
Unixtime 'nu+30 minuten' doe ik met:
[ code verwijderd ]
Vervolgens vergelijk ik of $date3 valt tussen $now en $future:
[ code verwijderd ]
Ik ben totaal noob met tijd/data. Dus het zal vast wel makkelijk/sneller/beter kunnen. Of doe ik het toch correct?
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php date_default_timezone_set('Europe/Amsterdam'); // Voor het geval er geen tijdzone is ingesteld $now = new DateTime(); // of met 'now' als parameter $future = new DateTime('+30 minutes'); $date = new DateTime('2012-05-19T07:56:00'); if($now < $date && $date < $future) { echo '$date ligt in de aankomende 30 minuten.'; } else { echo '$date ligt niet in de aankomende 30 minuten.'; } ?> |
Ik zie dat dat ook werkt, thanks! had je ook eerder mee kunnen komen, had ik het gelijk alquote:Op zaterdag 19 mei 2012 09:02 schreef Light het volgende:
[..]
Je kunt ook DateTime objecten met elkaar vergelijken
[ code verwijderd ]
Ik heb hier geen PHP 5.2 om te testen of het daar ook werkt. Ik vermoed van wel
1 2 | $exp_time = '2012-05-23T02:00:00'; $tstamp = new DateTime($exp_time); |
1 | Catchable fatal error: Object of class DateTime could not be converted to string in.. |
Jouw code werkt bij mij gewoon:quote:Op zaterdag 19 mei 2012 18:05 schreef xaban06 het volgende:
Het volgende werkt niet:
[ code verwijderd ]
Foutmelding:
[ code verwijderd ]
Hoe moet het wel?
1 2 3 4 5 | <?php $exp_time = '2012-05-23T02:00:00'; $tstamp = new DateTime($exp_time); debug($tstamp); ?> |
1 2 3 4 5 6 7 8 | <?php DateTime Object ( [date] => 2012-05-23 02:00:00 [timezone_type] => 3 [timezone] => Europe/Amsterdam ) ?> |
Pff, wat doe ik dan verkeerdquote:Op zaterdag 19 mei 2012 20:02 schreef Scorpie het volgende:
[..]
Jouw code werkt bij mij gewoon:
[ code verwijderd ]
Geeft als output:
[ code verwijderd ]
1 2 3 | <?php echo $exp_time2[0]; ?> |
1 | 2012-05-23T02:00:00 |
1 2 3 4 | <?php $tstamp = new DateTime($exp_time2[0]); echo $tstamp; ?> |
1 | Catchable fatal error: Object of class DateTime could not be converted to string in... |
Probeer eens print_r() in plaats van echo().quote:Op zaterdag 19 mei 2012 21:39 schreef xaban06 het volgende:
[..]
Pff, wat doe ik dan verkeerd
[ code verwijderd ]
output:
[ code verwijderd ]
[ code verwijderd ]
output:
[ code verwijderd ]
1 2 3 4 5 6 7 | <?php $tijd[] = '2012-05-23T02:00:00'; $date = new DateTime($tijd[0]); echo $date; ?> |
1 2 3 | # php time3.php Catchable fatal error: Object of class DateTime could not be converted to string in /root/time3.php on line 8 |
Je kan niet de class weergeven, je moet aangeven dat je het wil weergeven in de class, en in DateTime is dat format:quote:Op zondag 20 mei 2012 14:44 schreef xaban06 het volgende:
[ code verwijderd ]
output:
[ code verwijderd ]
Ik moet het volgens mij dus omzetten naar een string, echter is dat wel mogelijk en is dat wel juist?
1 2 3 4 5 6 7 | <?php $tijd[] = '2012-05-23T02:00:00'; $date = new DateTime($tijd[0]); echo $date->format('d-m-Y H:i:s'); ?> |
Klopt, had het al opgelost, thanks voor je post!quote:Op zondag 20 mei 2012 16:41 schreef Dalando het volgende:
[..]
Je kan niet de class weergeven, je moet aangeven dat je het wil weergeven in de class, en in DateTime is dat format:
[ code verwijderd ]
Ja kan, net als elke keer een nieuwe virtualhost toevoegen, maar het wordt al snel vervelend om dat bij elk project te doen.. en bij een format ben je weer al je instellingen kwijt.. nu werkt het automatisch zonder nadenken, ik creeer een app of ik doe een git clone, en gelijk doet ie het onder z'n eigen subdomeinquote:Op zondag 20 mei 2012 21:39 schreef boem-dikkie het volgende:
Kun je die files niet aanpassen met Windows? Heb op OSX gewoon een paar regeltjes toegevoegd en website.dev e.d. werkt nu prima.
Is makkelijk zelf te maken, probleem is een upload/progress bar. Heb jij misschien tips voor kant en klare systemen? Hoeft geen multiple files te ondersteunen.quote:Op maandag 21 mei 2012 11:08 schreef boem-dikkie het volgende:
Hebben jullie tips voor een multiple file upload? Script van Uploadify werkt bijzonder brak.
Ik wil eigenlijk dat de gebruiker met 1 uploadvenster meerdere files kan selecteren en dat deze in een /uploads/ map komen en met hun naam in de database.
plupload.comquote:Op maandag 21 mei 2012 11:33 schreef xaban06 het volgende:
[..]
Is makkelijk zelf te maken, probleem is een upload/progress bar. Heb jij misschien tips voor kant en klare systemen? Hoeft geen multiple files te ondersteunen.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |