07-02-2019, Saat: 17:57
kullanıcıdan aldığım tarih ve saate şu andan itibaren ne kadar yıl-ay-gün-saat-dakika kaldığını bir labele yazdırmayı nasıl yapabilirim?
zaman farkı hesabı
|
07-02-2019, Saat: 17:57
kullanıcıdan aldığım tarih ve saate şu andan itibaren ne kadar yıl-ay-gün-saat-dakika kaldığını bir labele yazdırmayı nasıl yapabilirim?
07-02-2019, Saat: 18:33
Merhaba.
- Öncelikle bir-iki soru sormak isterim. Ardından yapmanız gereken işlemi tarif edeyim onu yapınca gerisi gelecektir. - Kullanıcıdan Tarih ve Saat verisi STRING olarak mı alınacak veya bu veri elle mi girilecek yoksa sizin denetiminizde bir veya iki DateTimePicker ile kurallı mı olacak - Bunları neden sordum : DateTime tipinde bir değişkene bu veriyi girdiğinizde DateUtils unitinden yardım alarak her türlü hesaplamayı yapabilirsiniz diyebilmek için
Saygılarımla
Muharrem ARMAN
07-02-2019, Saat: 19:39
(07-02-2019, Saat: 18:33)mrmarman Adlı Kullanıcıdan Alıntı: Merhaba. Veritabanında String olarak tanımladım tarihi alınacak alanı. Ancak tarih hesaplamalarının yapılacağı bir programda bu alanları Date olarak tanımlamam daha iyi olacaksa değiştirebilirim. Tarihi DateTimePicker ile alacam. Ancak DateTimePicker ile doğum tarihi gibi yılların çok değişeceği girişleri almak kullanışlı olur mu diye merak ediyorum? Mask edit ile yapılsa daha mı iyi olur acaba?
07-02-2019, Saat: 19:45
Merhaba.
- Giriş kısmı tutarlı bir STRING de olabilir veritabanından TDateTime tipinde de olabilir. Asıl önemli olan hesaplama öncesi hepsinin tarih tipine dönüştürmeye uygun olması. Hataya sebebiyet vermesinin önüne geçilmesi içindir. - Girişleri "DateTime" tipinde bir değişkene aktarabildiğinizi düşünerek bu aşamadan devam edelim. - DateUtils diye bir UNIT mevcut. Bunu USES satırlarına eklerseniz aşağıda "DateUtils." dediğiniz anda ( sondaki noktayı koyduğunuz anda ) size seçenekler dökülecektir. Bunları bir incelemenizi öneriyorum. Örneğin : DateUtils.HourOf(); DateUtils.MinuteOf(); DateUtils.DayOf(); DateUtils.DayOfTheWeek(); DateUtils.DecodeDateTime(); DateUtils.HoursBetween(); DateUtils.DaysBetween(); şeklinde sayısız fonksiyon göreceksiniz. Bunların isimleri size neler yapabileceğinizi öngörmeniz için kılavuz olacaktır.
Saygılarımla
Muharrem ARMAN
08-02-2019, Saat: 09:41
Hocam Selamlar. Bu bir fikir verebilir belki sana.
var SaniyeFark:integer; begin edit1.text:='01:01:2019 10:00:00';//edit1ye tarih saat değerini yazdır. edit2.text:='02:01:2019 10:10:30';//edit2ye tarih saat değerini yazdır. edit3.Text:=floattostr(secondsbetween(StrtoDatetime(edit1.text),(strtodatetime(edit2.Text)))); //iki tarih arasını saniye cinsine çevir SaniyeFark:=StrToInt(edit3.Text); edit4.Text:=(IntToStr(((((SaniyeFark div 60)div 60) div 24)))+' Gün '+IntToStr(((SaniyeFark div 60)div 60)mod 24)+' Saat '+IntToStr((SaniyeFark div 60)mod 60)+' Dk '+IntToStr(((SaniyeFark mod 60)mod 60))+' Sn '); // iki tarih arası bulduğun saniyeyide dk ve saate bölerek zamanı hesaplayabilirsin. Sonuç : 1 Gün 10 Dk 30 Sn Bir bir projemde bu şekilde kullanmıştım. Kolay Gelsin.
08-02-2019, Saat: 17:35
Verilen cevaplardan dolayı teşekkür ederim. işimi gördü.
09-02-2019, Saat: 09:08
Merhaba,
Bu tarz işlemler için kendinize bir kütüphane oluşturmalısınız. DateUtils kütüphanesine göz gezdirin ve ihtiyacınız olan fonksiyon ve özellikleri kullanarak kendinize özel bir kütüphane geliştirin. Örnekler: İki zaman arasındaki farkı bulan fonksiyon --> tarih3 := CalculateTimeBetween(tarih1,tarih2); Kullandığınız veritabanı tarih formatına göre çeviren fonksiyon --> tarih2 := ConvertToFormat(tarih1,'yyyy-dd-mm hh:mm:ss'); Bu tarz projenin konusundan bağımsız meselelerle ilgili ihtiyaç duyduğunuz fonksiyonları birleştireceğiniz bir kütüphane, her seferinde bir sonraki projenizde işinizi kolaylaştıracaktır. (09-02-2019, Saat: 09:08)Abdullah ILGAZ Adlı Kullanıcıdan Alıntı: Merhaba, Kesinlikle çok doğru , en kısa zamanda bende kendim ile ilgili böyle bir kütüphane oluşturmalıyım. Çünkü ara ara bende bu tarz sorunlarla karşılaşıyorum. Bu formdan bulduğum çözümlerle genelde çözüme ulaşıyorum. Bu konu ile ilgili Tuğrul beyin kendi sitesinde çok güzel bir makalesi de var sanırım o da yardımcı olacaktır. http://www.tugrulhelvaci.com/?p=209 (07-02-2019, Saat: 19:45)mrmarman Adlı Kullanıcıdan Alıntı: Merhaba. Teşekkürler mrmarman hocam . |
« Önceki Konu | Sonraki Konu »
|
Konu ile Alakalı Benzer Konular | |||||
Konular | Yazar | Yorumlar | Okunma | Son Yorum | |
zaman aşımı | info@guzelceker.com | 4 | 889 |
25-11-2022, Saat: 08:32 Son Yorum: info@guzelceker.com |
|
Dakika farkı hesaplama | varyemez | 1 | 639 |
05-05-2022, Saat: 09:57 Son Yorum: RAD Coder |
|
TUBITAK Zaman Damgası | ikurt07 | 11 | 2.816 |
28-01-2022, Saat: 10:56 Son Yorum: mkysoft |
|
Delphi C# Fonksiyon Sonuç Döndürme Farkı | Hayati | 5 | 1.102 |
19-12-2021, Saat: 19:14 Son Yorum: Hayati |
|
Tarih Farkı Hesaplama | OZCANK | 12 | 3.333 |
18-11-2021, Saat: 09:32 Son Yorum: COMMANDX |