Tarih Farkı Hesaplama (SQLite)

Rapor et
Soru

Bu soru rapor edilmelidir hissediyorum neden kısaca açıklayınız.

Rapor et
İptal

Merhaba,
https://www.mobilhanem.com/android-sqlite-database-kullanimi-select-insert-update-delete/ bu linkteki veri tabanı taslağını kullanarak bir uygulama yapıyorum.
Uygulamamın bir bölümünde bir ürün ekliyorum ve ürünün bir kullanım süresi var. Örn, 6 ay süresi var yani 180 gün. Ürünün kullanım süresi dolayısıyla zamana bağlı olarak hergün bir azalması lazım. Bugün ekledim diyelim 180 gün, yarın 179, ertesi gün 178, 177 şeklinde azalması gerekir. Bunun içinde yaptığım yöntemden ve aldığım hatadan bahsedeyim.

Burada tek bir buton sayesinde başlangıç ve bitiş tarihlerini alıp Date türünde veritabanıma kaydediyorum. Başlangıç süresine bilerek küçük süreler(dakika, saniye) ekledim ki, işlemi yapıp yapamadığını anlamak kolay olsun diye. Ekleme yapınca doğrudan TsHareket sayfasına yönlendiriyorum, orada bir listview var ve eklenen her ürünü oraya listeliyor, hangi ürüne tıklarsam da onun detayına gidiyorum. Detay kısmında bitiş süresinden şimdiki zamanı çıkararak farkı buluyorum.

Date türünde veri kaydetmiş olsamda bir Date-String dönüşümü yapmam gerekiyor. Çünkü HashMapten doğrudan çekersem farkı alabilmek için işleme sokamıyorum, bu ifade string bir ifadedir işlem yapamazsınız diyor. Bu dönüşümü yaptıktan sonrada Bitiş tarihinden şimdiki zamanı çıkarıp farkı yazdırıyorum. 
Sorunum şu; fark hep sıfır çıkıyor. Çünkü daha önce veritabanına kaydettiğim bu verileri yukarıdaki gibi çekip işleme sokunca tarihlerin hepsinin eşitlenmiş şuanki tarih olduğunu gördüm yani aynı tarih. Dolayısıyla fark hep sıfır çıkıyor. HashMapten doğrudan çekip yazdırdığımda ise kaydettiği şekliyle yazdırıyor ama onlarıda işleme sokamıyorum.
Aldığım hatalarda şu şekilde;

Yapmaya çalıştığım uygulamanın somut bir örneğide var. Askerlikteki şafak sayar uygulamaları. Hergün bir azalarak askerliğin biteceği günü bildirir. Benim yapmaya çalıştığımda onun gibi.
Sorum biraz uzun oldu ama tüm detayları belirtmek istedim. Yardımcı olabilirseniz sevinirim.
 
 
 
 
 
 
 

Devam Ediyor 0
Android 4 sene 1 Cevap 1094 görüntüleme Intern 0

Yazar HakkındaIntern

Cevap ( 1 )

  1. Avatar
    Aykut Altan SEZEN
    0

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Selam,
    Gün saymak istediğiniz tarihi ve şimdiki günün tarihini julianday olarak integer formata dönüştürün. Gerisi basit çıkarma işlemi.

    int kalanGun(int julianday) {
    return julianday – bugun().toJulianday();
    }

Cevap bırak

Gözat

KOD PAYLAŞIRKEN DİKKAT!!!!

HTML kod paylaşmak için

<pre class="html">HTML KOD</pre>
XML kod paylaşmak için
<pre class="xml">XML KOD</pre>
Diğer dillerde(php,java,android,javasvript,c# vs..) kod paylaşmak için
<pre>KOD</pre>
tagları arasında paylaşmayı unutmayın.