Toon posts:

[php] tijden vergeljken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoe kan ik met het commando date("H:i:s",mktime(03,44,45)) vergeljken met een dezelfde gegenereerde tijd.

Het is voor het controleren of een stoptijd niet eerder is ingevuld dan de starttijd. dus moet er op de seconde gecontroleerd worden.

Ik had al geprobeerd om de tijden van elkaar af te trekken maar dan krijg ik geen correcte output

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
Ik stel voor dat je eerst even de quickstart doorleest:
Welkom in P&W -> Quickstart om snel aan de slag te kunnen

https://fgheysels.github.io/


  • _Zedd_
  • Registratie: November 2001
  • Niet online
Gewoon vergelijken met kleiner en groter dan

PHP:
1
2
3
4
5
6
7
8
9
 
<?
$t1="14:33:34";
$t2="12:34:00";

$res=($t1 < $t2) ? "kleiner" : "groter";

echo "$t1 $res dan $t2";
?>


14:33:34 groter dan 12:34:00

GMT-8


Verwijderd

Topicstarter
heb ik al geprobeerd. maar als de tijden bv. 10 seconden scheelt dan gaat ie er gewoon doorheen.

Verwijderd

post je code eens, of gebruik je de code van _Zedd_ ?

Verwijderd

Verwijderd schreef op 23 september 2002 @ 14:13:
post je code eens, of gebruik je de code van _Zedd_ ?
gebruik de code van _Zedd_ maar niet B)

als de tijden gelijk zijn gaat het mis :+

Verwijderd

Verwijderd schreef op 23 september 2002 @ 14:23:
[...]


gebruik de code van _Zedd_ maar niet B)

als de tijden gelijk zijn gaat het mis :+
idd, you're right :D

  • Brakkie
  • Registratie: Maart 2001
  • Niet online

Brakkie

blaat

Kan je dr geen timestamps van maken. Dat vergelijkt in ieder geval wel goed. Of gewoon in aantal secondes gaan rekenen.

Systeem | Strava


Verwijderd

verder werkt dat wel goed hoor ;)
alleen even je ifje aanpassen

  • _Zedd_
  • Registratie: November 2001
  • Niet online
:7 Hé, niet mopperen!

GMT-8


  • terrapin
  • Registratie: Februari 2002
  • Niet online
Ik zou doen wat brakkie zegt.. niet moeilijk gaan doen met tijd in strings e.d, maar gewoon unix timestamps gebruiken. PHP heeft hele mooie functies om tijden in zo ongeveer elk formaat van en naar een timestamp te converteren. Dan kan je daarna gewoon de tijden als integers van elkaar aftrekken.
Als je ook met millisecondes gaat werken moeet je eens kijken naar dit voorbeeld van de php site:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function getmicrotime(){ 
    list($usec, $sec) = explode(" ",microtime()); 
    return ((float)$usec + (float)$sec); 
    } 

$time_start = getmicrotime();
    
for ($i=0; $i < 1000; $i++){
    //do nothing, 1000 times
    }

$time_end = getmicrotime();
$time = $time_end - $time_start;

echo "Did nothing in $time seconds";


Dit heb ik bijvoorbeeld ook gebruikt om de tijd nodig voor SQL queries te bekijken...

The higher that the monkey can climb, The more he shows his tail


Verwijderd

Ik gebruik dat zelf ook, dus de tijden terugrekenen naar timestamps. Maar las dat dus heel veel moet gebeuren gaat dat dan niet heel erg ten koste van de performance?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Ikzelf reken binnen mijn applicaties alleen met timestamps. Ik snap ook niet waarom je programma het in een of ander human readable formaat moet onthouden. Pas zodra ik het afdruk gebruik ik zo'n date achtige functie.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

En ja hoor komt die tim weer aan met zen omslachtige codes:
PHP:
1
2
3
4
5
6
7
8
$t1="14:33:34"; 
$t2="12:34:00"; 
list($t1_h,$t1_m,$t1_sec) = explode(":",$t1);
list($t2_h,$t2_m,$t2_sec) = explode(":",$t2);

$t1_secondes = $t1_sec + ($t1_m*60) + ($t1_h*3600);
$t2_secondes = $t2_sec + ($t2_m*60) + ($t2_h*3600);
if($t1_secondes > $t2_secondes) echo "Tijd 1 is groter";
Pagina: 1