Eski tarihi olduğumuz aydan 1 ay sonrasını gösterme

Eski tarihi olduğumuz aydan 1 ay sonrasını gösterme

  • 8 Eylül 2013
  • 4 Okunma
  • 6 Yorum
  • 7 DK

Merhaba arkadaşlar bu yazımda sizlere bir tarihin ileri ay olarak atlamayı göstericem örnek olarak gene müşteriler şeklinde gidicez şimdi hemen konuya geçiyorum.

Senaryomuz şöyle
Elimizde müşterilerimiz var ve bu müşteriler her ayın belirli bir günü bize ödeme yapmaları lazım ve biz bunun için bir hatırlatma sistemi yapıcaz o müşterinin sonraki ödemesini görmemiz gerek o da şöyle olacak.

Şimdi müşterimizi veritabanımıza ilk defa kayıt ettik diyelim o ay ödemesi başladı diyelim, yani göstererek yapalım müşterimizi kayıt ettik.

Ödeme başlangıç tarihi : 07.09.2013
Sonraki ödeme tarihi : 07.10.2013

bunu kod ile yapalım ben genelde veritabanına zamanları time() ile eklerim sonradan date() ile çevirebilirim saatine kadar normal tarih eklersem atıyorum 07.09.2013 diye bu stringi kayıt ettim diyelim bunu ben kullanırken sorun yaşayabilirim ama strtotime() kodu ile bunu time() gibi mikrosaniyeye çevirebilirim ama saat 00:00 olarak çevirir. Neyse devam edelim.

 echo strtotime("07.09.2013"); //Çıktısı 1378512000 

Yukarıdaki kod ile ben time aldım bu veritabanına kayıt etmek içindi ve bu tarih bizim ilk ödemetarihimiz bunu veritabanına kayıt ettik şimdi ise sonraki ödeme tarihini yani 1 ay sonrasını bulalım.

 echo strtotime("+1 Month",strtotime("07.09.2013")); //Çıktısı 1381104000 

Şimdi toparlarsak veritabanımıza şöyle kayıt girildi

odemetarihi |sonrakiodemetarihi
1378512000 | 1381104000

Şimdi diyelim 10. aydayız ve müşterimiz ödemeyi yaptı sonraki odeme verisini çekip 1 ay atlatıyoruz

 $sonrakiodeme = 1381104000; echo strtotime("+1 Month",$sonrakiodeme); //Çıktısı 1383782400 

Çıktıyı sonrakiodeme sutununda müsteri id si ile guncellerseniz sizin işleminiz bitti demektir. Buraya kadar anlamadığınız yoksa 2. bölüme geçiyorum.

Şimdi fark ettiyseniz yukarıda bu ay kayıt olan bir müşterinin sonraki ödemesini bulduk ve ödeme yapıldı gibi onaylama ile 1 ay ileri atabiliyoruz. Amaaa diyelim müşterimiz eski bir müşteri ve siz bu eski müşteriyi yeni sisteme aktaracaksınız. Ben kendi çözümümü söyleyeyim siz belki daha kolay bir yol bulusunuz.

şimdi daha iyi anlaşılsın diye ocak 1 2013 seçtim ben kod ile göstereyim daha iyi anlaşılsın

 echo strtotime("01.01.2013"); //1356998400 

Yukarıda göstermiş olduğum tarih bizim eski müşterimizin bizimle çalışmaya ilk başladığı tarih olsun ve bugüne kadar ödemelerini hep zamanında yapmış ve yapmaya devam edecek ve biz sistemi yeni yazdığımız için bu aya kadarki bir boşluk söz konusu yani ayın 1 den 9 ayın 1 e kadar toplam 8 ay bir boşluk var normalde yukarıdaki sistemi kullanarakda sürekli ödemesi yapıldı butonuna tıklayarak bugüne kadar yani 8-9 defa tıklanarak bu aya kadar güncellenebilir ama bizim böyle bir olanağımız yok çünkü diyelim böyle 100 tane müşteri var ve hepsine 8-9 defa tıklamamız zaman kaybıdır. Bunu şöyle çözüyoruz yani benim çözümüm şu.

veritabanımızda ilk ödeme tarihini giriyoruz yukarıdaki kod yani 01.01.2013 ün mikrosaniye cinsini giriyoruz 1356998400

 $ilkodemetarihi = 1356998400; $bu_ay_dan_sonraki_odeme_tarihi = strtotime(date("d",$ilkodemetarihi).".".date("m",strtotime("+1 Month",strtotime(date("d.m.Y",time())))).".".date("Y")); echo $bu_ay_dan_sonraki_odeme_tarihi; //Çıktısı 1380585600 

Yukarıdaki kodu çalıştırınca çıktı aynı olmaya bilir tabi ayın 9 da kodu çalıştırmazsanız. Şimdi bu kodda mikrosaniye olarak çıktı verecek birşey anlamayabilirsiniz o yüzden tarihleri görerek çalışalım

 $ilkodemetarihi = 1356998400; $bu_ay_dan_sonraki_odeme_tarihi = strtotime(date("d",$ilkodemetarihi).".".date("m",strtotime("+1 Month",strtotime(date("d.m.Y",time())))).".".date("Y")); echo date("d.m.Y",$ilkodemetarihi)." - ".$ilkodemetarihi; //Çıktısı 01.01.2013 - 1356998400 echo date("d.m.Y",$bu_ay_dan_sonraki_odeme_tarihi)." - ".$bu_ay_dan_sonraki_odeme_tarihi; //Çıktısı 01.10.2013 - 1380585600 

Bu yazıyı okudunuz hala birşey anlamadıysanız yardımcı dosyayı indirin

Eski tarihi olduğumuz aydan 1 ay sonrasını gösterme Etiketleri:

HAYATI KODLA'YA ABONE OLUN!!
ETKİLEYİCİ BİR YORUM BIRAK

Eski tarihi olduğumuz aydan 1 ay sonrasını gösterme İle Benzer Yazılar

"Eski tarihi olduğumuz aydan 1 ay sonrasını gösterme" Yazısına uygun diğer makalerler