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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | public function actionHandleUpload() { header("Content-type: text/html"); $output_filename = "src-" . uniqid() . ".jpg"; $output_file = Yii::getPathOfAlias('webroot') . '/var/tmp/' . $output_filename; if (isset($_FILES['qqfile'])) { move_uploaded_file($_FILES['qqfile']['tmp_name'], $output_file); } else { $input = fopen("php://input", "r"); $temp = tmpfile(); $realSize = stream_copy_to_stream($input, $temp); fclose($input); if ($realSize != $this->getSize()) return false; $target = fopen($output_file, "w"); fseek($temp, 0, SEEK_SET); stream_copy_to_stream($temp, $target); fclose($target); } echo "{success:false}"; return true; } |
LETTERLIJK de eerste hint bij google "SQL substring":quote:Op woensdag 23 mei 2012 10:46 schreef Cue_ het volgende:
Ik wil in een SQL query een select doen van een veld, maar daarvan wil ik de laatste teken weghalen. Wat in PHP dus een substr($veld, 0,-1) zou zijn, werkt niet in SQL.
De waardes in de kolom hebben ook geen vaste lengte, dus daar kan ik ook niets mee doen.
Iemand een idee?
via SUBSTR(quote:Op woensdag 23 mei 2012 10:46 schreef Cue_ het volgende:
Ik wil in een SQL query een select doen van een veld, maar daarvan wil ik de laatste teken weghalen. Wat in PHP dus een substr($veld, 0,-1) zou zijn, werkt niet in SQL.
De waardes in de kolom hebben ook geen vaste lengte, dus daar kan ik ook niets mee doen.
Iemand een idee?
Die had ik gezien jahquote:Op woensdag 23 mei 2012 10:47 schreef Scorpie het volgende:
[..]
LETTERLIJK de eerste hint bij google "SQL substring":
http://www.1keydata.com/sql/sql-substring.html
daar is ook een functie voor om die op te vragen.quote:Op woensdag 23 mei 2012 10:50 schreef Cue_ het volgende:
[..]
Die had ik gezien jah
Maar dan zit ik dus met het feit dat een -1 niet werkt om de laatste cijfer weg te halen
En ik niet kan opgeven wat de lengte is. omdat deze variabel is
Dan haal je het resultaat op en haal je er met substr() in PHP 1 vanaf? Waarom wil je dat uberhaupt in SQL oplossen? Klinkt alsof je weer zit te kloten met je datamodel meid.quote:Op woensdag 23 mei 2012 10:50 schreef Cue_ het volgende:
[..]
Die had ik gezien jah
Maar dan zit ik dus met het feit dat een -1 niet werkt om de laatste cijfer weg te halen
En ik niet kan opgeven wat de lengte is. omdat deze variabel is
Omdat ik even wat moet opschonen, een import functie van mij was wat verkeerd.quote:Op woensdag 23 mei 2012 10:52 schreef Scorpie het volgende:
Dan haal je het resultaat op en haal je er met substr() in PHP 1 vanaf? Waarom wil je dat uberhaupt in SQL oplossen? Klinkt alsof je weer zit te kloten met je datamodel meid.
en dit. Zoiets doe je normaal niet via SQL.quote:Op woensdag 23 mei 2012 10:52 schreef Scorpie het volgende:
[..]
Dan haal je het resultaat op en haal je er met substr() in PHP 1 vanaf? Waarom wil je dat uberhaupt in SQL oplossen? Klinkt alsof je weer zit te kloten met je datamodel meid.
Wil je toch doorgaan dan kan je http://www.1keydata.com/sql/sql-length.html gebruiken.
ah dan is het een ander verhaalquote:Op woensdag 23 mei 2012 10:54 schreef Cue_ het volgende:
[..]
Omdat ik even wat moet opschonen, een import functie van mij was wat verkeerd.
Hoeveel records moet je opschonen?quote:Op woensdag 23 mei 2012 10:54 schreef Cue_ het volgende:
[..]
Omdat ik even wat moet opschonen, een import functie van mij was wat verkeerd.
Uhm er zitten nu bijna 3000 records in, maar denk een kwart ervan.quote:Op woensdag 23 mei 2012 10:57 schreef Scorpie het volgende:
Hoeveel records moet je opschonen?
Laat me raden, er staat een spatie teveel achter elk ID?
En daarom is het principe OTAP uitgevonden.quote:Op woensdag 23 mei 2012 11:00 schreef Cue_ het volgende:
[..]
Uhm er zitten nu bijna 3000 records in, maar denk een kwart ervan.
Heb dubbele records met een ander id (laatste getal anders). Dus moet het even opschonen die nog niet zijn gekoppeld met andere data maar wel dubbel zijn.
En even importfunctie veranderen natuurlijk
Zeg maar van die leuke beginners importfoutjes.
Het is ook niet goed genoeg getest.quote:Op woensdag 23 mei 2012 11:02 schreef Scorpie het volgende:
En daarom is het principe OTAP uitgevonden.
Lekker dan, zit je met je zooitje.quote:
Ook eigen schuld. Maar daar leren we vanquote:
Wacht even, je test je eigen werk?quote:Op woensdag 23 mei 2012 11:05 schreef Cue_ het volgende:
[..]
Ook eigen schuld. Maar daar leren we van
Je test je werk tijdens het maken natuurlijk ook. En daar zitten wat verbeterpuntjes voor mij in.quote:
Kloptquote:Op woensdag 23 mei 2012 11:06 schreef Catch22- het volgende:
je hebt je tabel ook niet goed ingericht als zulke fouten kunnen ontstaan.
Ja leuk, maar daarna moet het getest worden door een collega, en als je een OTAP straat hebt ook nog eens door een tester, en dan nog een keer op Acceptatie, voordat het uberhaupt op Productie komt.quote:Op woensdag 23 mei 2012 11:07 schreef Cue_ het volgende:
[..]
Je test je werk tijdens het maken natuurlijk ook. En daar zitten wat verbeterpuntjes voor mij in.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |