login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Kan het volgende met de mktime() functie? (Opgelost)

Offline WebDevHobo - 06/10/2009 14:30 (laatste wijziging 06/10/2009 14:32)
Avatar van WebDevHoboLid Om in databases in te voeren wanneer iemand een bepaalde actie uitvoert(als dat bijhouden al nodig is), gebruik ik deze functie:

  1. function currentDateTime() {
  2. list($micro, $Unixtime) = explode(" ",microtime());
  3. $sec= $micro + date("s", $Unixtime);
  4. $sec = mb_ereg_replace(sprintf('%d', $sec), "", ($micro + date("s", $Unixtime)));
  5. return date("Y-m-d H:i:s", $Unixtime).$sec;
  6. }


Deze functie genereert de exacte DATETIME van het moment waarop de functie is opgeroepen als een string die perfect naar een MySQL database kan gestuurd worden en in een DATETIME veld past.

Mijn vraag: kan dit niet met de mktime() functie? Ik zie allesinds niet hoe, maar misschien iemand anders wel.

4 antwoorden

Gesponsorde links
Offline ArieMedia - 06/10/2009 14:34
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
  1. $iTijdNu = time();
  2. $sDate = date('d-m-Y H:i:s', $iTijdNu);


Dit is ook gewoon de tijd van nu
Offline WebDevHobo - 06/10/2009 14:44
Avatar van WebDevHobo Lid
Arie2Zero schreef:
[..code..]

Dit is ook gewoon de tijd van nu
Ik laat de 2 functies even tegelijk lopen.

Output van de functie: 2009-10-06 14:41:32.1418
Output van Arie2Zero's idee: 06-10-2009 14:41:32

Die jaar/maand/dag notatie kan natuurlijk aangepast worden. Ik kijk eventjes hier: http://dev.mysq...etime.html, waaruit blijkt dat die 4 cijfers achter het puntje microseconden zijn. Ik heb weinig ervaring met systemen die door duizenden mensen tegelijk gebruikt worden. Ik neem aan dat in zulke systemen microseconden van belang kunnen zijn.

Hoe dan ook, antwoord aanvaard.
Offline ArieMedia - 06/10/2009 14:57
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
WebDevHobo schreef:
[..quote..]Ik laat de 2 functies even tegelijk lopen.

Output van de functie: 2009-10-06 14:41:32.1418
Output van Arie2Zero's idee: 06-10-2009 14:41:32

Die jaar/maand/dag notatie kan natuurlijk aangepast worden. Ik kijk eventjes hier: http://dev.mysq...etime.html, waaruit blijkt dat die 4 cijfers achter het puntje microseconden zijn. Ik heb weinig ervaring met systemen die door duizenden mensen tegelijk gebruikt worden. Ik neem aan dat in zulke systemen microseconden van belang kunnen zijn.

Hoe dan ook, antwoord aanvaard.
Microseconden zijn niet bepaald van belang. Je kan beter elke PHPSESSIE in je database wegschrijven met de datum. (elke gebruiker krijgt eigen sessie).
Offline WebDevHobo - 25/10/2009 02:19
Avatar van WebDevHobo Lid Hmz, ik kom hier nogal laat op terug.

Gewoon nog even zeggen dat je niet zomaar kan beweren dat microseconden niet van belang zijn.

Afhankelijk van je aantal bezoekers per uur, of zelfs per seconden, kan dit behoorlijk zwaar doorwegen. Stel je voor dat je bedrijf een wedstrijd organiseert op diens site en de winst wordt bepaald door wie het dichtst op een bepaald tijdstip iets doet.

Het wordt een heel drama als je uiteindelijk 20 mensen hebt die op dezelfde seconde de juiste actie ondernemen. Dan heb je meer detail nodig.


Zoals je wel zal zien, is dit een heel specifiek geval. Daarom ook dat je niet zomaar eventjes kan zeggen dat microseconden niet tellen: je generaliseert.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.191s