Tarih ve saat hesaplama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Tarih ve saat hesaplama
merhaba,
başlanğıç tarihi ve saati ile
bitiş tarihi ve saati arasındaki
farkı kodla nasıl bulabilirim.
teşekkürler.
başlanğıç tarihi ve saati ile
bitiş tarihi ve saati arasındaki
farkı kodla nasıl bulabilirim.
teşekkürler.
Re: Tarih ve saat hesaplama
daysbetweendost yazdı:merhaba,
başlanğıç tarihi ve saati ile
bitiş tarihi ve saati arasındaki
farkı kodla nasıl bulabilirim.
teşekkürler.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Delphi'de tarih değerleri bir extended sayı şeklinde tutulur. Virgülden önceki bölüm günü, virgülden sonraki bölüm saati gösterir. Örneğin bugünün değeri Date fonksiyonu ile alınabilir 33768.0 gibi bir değer olur. Şu anki saatin değeri Time fonksiyonu ile alınabilir ve 0.324345 gibi bir değer olur. Şu anın hem tarih hem saat olarak değeri Now fonksiyonu ile alınır ve 33768.324345 gibi bir değer gelir. Bugün saat öğlen 12:00 değeri 33768.5 gibi bir değerdir. Bugünün yarısı bitmiş olduğu için virgülden sonra 0.5 gibi bir değer gelmektedir. İki an arasındaki saniye farkını almak için Now fonsiyonun göndermiş olduğu iki değer çıkarılır ve çıkan sonuç gün biriminden saniye birmine çevrilir. 1 gün = 86400 saniye veya tersten alırsak 1 saniye = 0.00001157407407 gün.
Kolay gelsin.
Kolay gelsin.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Kestirmeden virgülün sağı da solu da günü gösterir diyelim. 12.5 değeri 12.5 gün demektir ki yarım gün demek 12:00 saatine denk gelir. Bknz->ShowMessage(DateTimeToStr(0))->30.12.1899'u gösterir. 12.5'i bu tarihe eklersek ShowMessage(DateTimeToStr(0+12.5))->11.01.1900 12:00:00 gösterir. Bu teknik çok hoşuma gittiğinden sık sık anlatmaktan zevk alıyorum nedense
.

Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
//başlanğıç tarih ve saat
Edit1.text := DateToStr(Date);
Edit2.text := TimeToStr(Time);
//bitiş tarih ve saat
Edit3.text := DateToStr(Date);
Edit4.text := TimeToStr(Time);
t1 := (StrToDate(Edit1.Text) + StrToTime(Edit2.Text));
t2 := (StrToDate(Edit3.Text) + StrToTime(Edit4.Text));
t3 := (t2 - t1);
Edit5.Text := FloatToStr(t3);
Sonuç: 4,08333333333333
virgülden sonraki saat,dakika ve saniye yi
nasıl hesaplayabilirim
teşekkürler
Edit1.text := DateToStr(Date);
Edit2.text := TimeToStr(Time);
//bitiş tarih ve saat
Edit3.text := DateToStr(Date);
Edit4.text := TimeToStr(Time);
t1 := (StrToDate(Edit1.Text) + StrToTime(Edit2.Text));
t2 := (StrToDate(Edit3.Text) + StrToTime(Edit4.Text));
t3 := (t2 - t1);
Edit5.Text := FloatToStr(t3);
Sonuç: 4,08333333333333
virgülden sonraki saat,dakika ve saniye yi
nasıl hesaplayabilirim
teşekkürler
bu işte mantık hatası var....
bir gunu ele alırken saniyeye cevirmelisin...
(gun*86400)+(saat*3600)++(dk*60)+saniye gibi.
biraz uğraşacaksın ama bu mantık her yerde gecer akcedir
bir gunu ele alırken saniyeye cevirmelisin...
(gun*86400)+(saat*3600)++(dk*60)+saniye gibi.
biraz uğraşacaksın ama bu mantık her yerde gecer akcedir
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
var
t1, t2, t3, t4: TDateTime;
Saat, Dakika, Saniye, Salise: Word;
begin
t1 := (StrToDate(Edit1.Text) + StrToTime(Edit2.Text));
t2 := (StrToDate(Edit3.Text) + StrToTime(Edit4.Text));
t3 := DaysBetween(t2, t1);
Edit5.Text := FloatToStr(t3) + ' Gün';
t4 := (t2 - t1);
DecodeTime(t4, Saat, Dakika, Saniye, Salise);
Edit6.Text := InttoStr(Saat) + ' Saat ' + IntToStr(Dakika) + ' Dakika ' + IntToStr(Saniye) + ' Saniye ';
end;
Sonuç:
2 Gün
1 Saat 50 Dakika 30 Saniye
ilgilenen arkadaşlara çok teşekkür ederim
t1, t2, t3, t4: TDateTime;
Saat, Dakika, Saniye, Salise: Word;
begin
t1 := (StrToDate(Edit1.Text) + StrToTime(Edit2.Text));
t2 := (StrToDate(Edit3.Text) + StrToTime(Edit4.Text));
t3 := DaysBetween(t2, t1);
Edit5.Text := FloatToStr(t3) + ' Gün';
t4 := (t2 - t1);
DecodeTime(t4, Saat, Dakika, Saniye, Salise);
Edit6.Text := InttoStr(Saat) + ' Saat ' + IntToStr(Dakika) + ' Dakika ' + IntToStr(Saniye) + ' Saniye ';
end;
Sonuç:
2 Gün
1 Saat 50 Dakika 30 Saniye
ilgilenen arkadaşlara çok teşekkür ederim