Eski tarihi oldu─čumuz aydan 1 ay sonras─▒n─▒ g├Âsterme

Eski tarihi oldu─čumuz aydan 1 ay sonras─▒n─▒ g├Âsterme

08 Eyl├╝l 2013

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" Benzer Yaz─▒lar─▒

Sql AND ve OR kullan─▒m─▒n─▒n kar─▒┼čmas─▒ - ├ç├ľZ├ťM Sen vars─▒n mesela...

Bir Cevap Yaz─▒n

E-posta hesab─▒n─▒z yay─▒mlanmayacak. Gerekli alanlar * ile i┼čaretlenmi┼člerdir