İki zaman arasındaki fark nasıl bulunur?Ör: 22:30-date("H:i)

  • Konbuyu başlatan Konbuyu başlatan sfym
  • Başlangıç tarihi Başlangıç tarihi
Kodla Büyü

sfym

Seçkin Üye
Seçkin Üye
Mesajlar
387
.

iyi geceler

Kullanıcı istatistiği ile ilgili işlemi yapmak üzereyim ama zaman farkını bulma sorunum var.
Bakındım hep tarihler üzerinden örnekler verilmiş işimi görmedi.

Kişi ilk giriş yaptığında sessionla o anki zamanı alıyorum.Başka bir sayfaya girdiğinde ilk zamandan o ankini çıkarmak istiyorum.

$a=date("H:i");
$b=22:30;

a-b farkını nasıl bulabilirim?
normal çıkarma işlemine soktuğumda 0 sonucunu veriyor.

Sorun Giderildi... Çözüm: Yardımcı olmaya çalışan tüm arkadaşlara teşekkürler.

Kod:
$a=date("H:i"); //21:10

$b=$_SESSION["GirisSaatDakika"]; //21:03

$Sure =(int) (strtotime($a) - strtotime($b)) / 60;
 
Sadece mantık vermek istiyorum işlem olurmu bilmem ama.
Süreleri Dakkikaya çevirip çıkarsanız
sonra tekrar saat cinsine çevirseniz bence olur...
:idea:
 
Kod:
<?php
$a=date("H:i"); //00:36
$b="00:21";
$a = explode(":",$a);
$b = explode(":",$b);
$sonSaat = $a['0']-$b['0'];
$sonDakika = $a['1'] - $b['1'];
echo "$sonSaat:$sonDakika"; //0:15
?>

saygılar...
 
.

brkhn hocam sağolasın..Dediğin yöntemle hallettim.

Ufak bir değişiklik yaptım kodda.

Kod:
$a; //21:10

$b=; //21:03
   //echo "$a*******$b";

$Sure =(int) (strtotime($a) - strtotime($b)) / 60;

Böylece çıkan sonuç benim yeni çevrimiçi sürem oluyor.
Bu süreyi şöyle kullanıyorum: Kişi eğer aynı tarihte portala giriş yapmışsa önceki zaman üzerine bunu ekleyip, yeni zamanı update ediyorum, ilk defa giriş yapmışsa bu süreyi insert ediyorum.
Tabi her sayfada şu işlemi unutmamak lazım: $_SESSION["GirisSaatDakika"]=date("H:i")
 
yalnız burda şöyle bir hata yapmış olursun

//2110-2103=7

olur fakat

2210-2103=107 çıkar sonuç yada 207 yada 307 şeklinde
bu 107 dakika online oldugunu göstermez...
 
sen bir kaç saat online kaldıktan sonraki süreye bak ben denemedim ama matık olarak yanlış bir hesaplama yapması lazım ....

sorun yoksa kolay gelsin, iyi çalışmalar...
 
.
phpturk sitesinde de bu konuyu açmıştım.Bir arkadaşın tavsiyesi ile işlemi değiştirdim.Böylece sizin bahsettiğiniz sorun da olmayacaktır.

Kod:
$Sure =(int) (strtotime($a) - strtotime($b)) / 60;
 
BBNET
Geri
Üst