rekenen met tijd
Ik wil graag de huidige tijd minus de tijd waarom de user zich heeft geregistreerd van elkaar aftrekken!
Nou had ik dit script geschreven maar het verschil is 1 uur ongeveer.
In de comment staat welke tijd ik uit de database haal, normalitair haal ik de timestamp van de user die ingelogd is eruit.
In de database staat in een int veld de timestamp die is gegenereerd met mktime.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
if(!empty($_SESSION)){
$qry = mysql_query("SELECT TimeAdd From Users WHERE Username = '".$_SESSION['uname']."'");
$result = mysql_result($qry, 0, 0);
$date = mktime(date("H"), date("i"), date("s"), date("m") , date("d"), date("Y"));
$date2 = $result;//2006-12-10 13:59:08
$date3 = $date - $date2;
$years = date("Y", $date3) ;
$month = date("m", $date3) ;
$day = date("d", $date3) ;
$hour = date("G", $date3) ;
$minut = date("i", $date3) ;
$sec = date("s", $date3) ;
if($years == 1970) $years -= 1970;
if($month == 01) $month -= 1;
if($day == 01) $day -= 1;
if($hour == 01) $hour -= 1;
if($minut == 01) $minut -= 1;
if($sec == 01) $sec -= 1;
$data .= "<br>".$day." dagen ".$month." maanden " .$years." jaren ".$hour." uren " .$minut." minuten ".$sec." seconden lid <Br> ";
}
?>
if(!empty($_SESSION)){
$qry = mysql_query("SELECT TimeAdd From Users WHERE Username = '".$_SESSION['uname']."'");
$result = mysql_result($qry, 0, 0);
$date = mktime(date("H"), date("i"), date("s"), date("m") , date("d"), date("Y"));
$date2 = $result;//2006-12-10 13:59:08
$date3 = $date - $date2;
$years = date("Y", $date3) ;
$month = date("m", $date3) ;
$day = date("d", $date3) ;
$hour = date("G", $date3) ;
$minut = date("i", $date3) ;
$sec = date("s", $date3) ;
if($years == 1970) $years -= 1970;
if($month == 01) $month -= 1;
if($day == 01) $day -= 1;
if($hour == 01) $hour -= 1;
if($minut == 01) $minut -= 1;
if($sec == 01) $sec -= 1;
$data .= "<br>".$day." dagen ".$month." maanden " .$years." jaren ".$hour." uren " .$minut." minuten ".$sec." seconden lid <Br> ";
}
?>
Edit:
php tags vergeten....
Gewijzigd op 01/01/1970 01:00:00 door Cyberboy fdsafds
strottime en time omzetten naar een mooie Unix Timestamp. Dan zijn ze beiden in seconden, en kan je ze gewoon van elkaar aftrekken. Daara houd je de tijd in seconden over. Via date kan je die dan weer gebruiken.
Wat ook kan, is MySQL je rekenwerk laten doen. Kijk maar eens wat hier uitkomt:
Ik zou de 2 tijden die je uit de database haalt met Wat ook kan, is MySQL je rekenwerk laten doen. Kijk maar eens wat hier uitkomt:
Code (php)
1
2
3
2
3
<?
mysql_query("SELECT TIMEDIFF(NOW(), TimeAdd) as tijdgeregistreerd FROM Users WHERE Username = '".$_SESSION['uname']."'");
?>
mysql_query("SELECT TIMEDIFF(NOW(), TimeAdd) as tijdgeregistreerd FROM Users WHERE Username = '".$_SESSION['uname']."'");
?>
handleiding welke functies je dan allemaal cadeau krijgt.
Wat Jelmer ook al zegt, laat de database het rekenwerk verrichten. Maar sla de datum met tijd wel op in een DATETIME, daar zul je nog veel plezier aan beleven. Zie de Wat voor veld moet ik dan in de DB instellen, het is nu een timestamp maar echt lekker werkt het niet....
DATE of DATETIME
datetime, want dan heb je ook auren ipv alleen dagen