-
Üyelik
04.09.2017
-
Yaş/Cinsiyet
55 / E
-
Meslek
öğretmen
-
Konum
İzmir
-
Ad Soyad
H** Ç**
-
Mesajlar
32
-
Beğeniler
1 / 2
-
Ticaret
1, (%100)
setlocale(LC_TIME, "turkish");
echo "Tarih ".strftime("%d %B %Y");
//Çıktı: Tarih 09 Eylül 2012
BU kodda %B türkçe aylar büyük harfle başlıyor. ayın küçük harfle gelmesi için ne yapmak gerekir...
$yesterday = date("YFd", mktime(0, 0, 0, date("F") , date("d")-1,date("Y")));
Merhaba
yukardaki kodda "F" koduyla ayların sadece ingilizce adı geliyor. Yukarıdaki kod yapısıyla İnglizce aylar yerine türkçe ayları nasıl uyarlayabilirim.
-
Üyelik
30.04.2016
-
Yaş/Cinsiyet
30 / E
-
Meslek
Yazılım geliştirici
-
Konum
Tekirdağ
-
Ad Soyad
H** K**
-
Mesajlar
72
-
Beğeniler
25 / 24
-
Ticaret
1, (%100)
PHP'nin string fonksiyonlarını kullanarak harflerin büyüklüğünü, küçüklüğünü, yalnızca ilk harfin büyük olmasını ayarlayabilirsin.
Fonksiyonlar strtoupper(), strtolower(), ucfirst()
Fakat onun yerine şöyle bir kod kullanarak çıktıya tam olarak hakim olabilirsin.
$aylar = array("Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık");
echo $aylar[date("m")];
-
Üyelik
04.09.2017
-
Yaş/Cinsiyet
55 / E
-
Meslek
öğretmen
-
Konum
İzmir
-
Ad Soyad
H** Ç**
-
Mesajlar
32
-
Beğeniler
1 / 2
-
Ticaret
1, (%100)
tşk ederim bazı dillerde setlocale(LC_TIME, "turkish"); komutuyla küçük harfle başlayan ay gün var sanırım bizde yok.
Aylar diye başlayan komutları biliyorum ama 2. kodda yerleştirmedim.
Belirttiğin kodları gözden geçireyim.
-
Üyelik
30.04.2016
-
Yaş/Cinsiyet
30 / E
-
Meslek
Yazılım geliştirici
-
Konum
Tekirdağ
-
Ad Soyad
H** K**
-
Mesajlar
72
-
Beğeniler
25 / 24
-
Ticaret
1, (%100)
Bu aslında hazır bir komut değil. date("m") ifadesi içinde bulunulan ayın numerik karşılığını verir, kasım için "11" gibi. $aylar isminde bir dizi oluşturdum ve dizinin elemanlarından mevcut ayın sırasında olan elemanı çektirdim.
-
Üyelik
04.09.2017
-
Yaş/Cinsiyet
55 / E
-
Meslek
öğretmen
-
Konum
İzmir
-
Ad Soyad
H** Ç**
-
Mesajlar
32
-
Beğeniler
1 / 2
-
Ticaret
1, (%100)
$yesterday = date("Ymd", mktime(0, 0, 0, date("m") , date("d")-1,date("Y"))); bu komut içinde
echo yazmadan date("m") yazdığım için doğru sonucu alamıyorum tabiki
$yesterday = date başlangıçlı komut satırında bir önceki günü yakalamak amacım. Ama ay kısmı yazıyla ekim Benim yaptıklarımda ay Ekim olunca da istediğim sayfaya ulaşmıyorum.
-
Üyelik
30.04.2016
-
Yaş/Cinsiyet
30 / E
-
Meslek
Yazılım geliştirici
-
Konum
Tekirdağ
-
Ad Soyad
H** K**
-
Mesajlar
72
-
Beğeniler
25 / 24
-
Ticaret
1, (%100)
date() fonksiyonunu veri saklarken değil, veriyi gösterirken kullanmak daha mantıklı. Date string çıktı üretir. Tarih işlemlerinde mktime() fonksiyonu ayrıca bir algoritma yazılmadığı sürece zaten sorun çıkaracaktır. Ayın 1. gününden 1 çıkarıldığında 0 sonucu çıkacak örneğin, bir önceki ay gösterilmeyecek. Bunun yerine, veriyi değişkenler dahil bir yerde saklarken time() kullanmak gerekir. Veri kullanıcıya gösterilirken date() kullanabilirsin.
$yesterday = time()-60*60*24;
echo date("Ymd", $yesterday);
Veya direkt date() olarak tutmak istersen şu şekilde yazabilirsin:
$yesterday = date("Ymd", time()-60*60*24);
Tabii bu tam olarak 24 saat önceki tarihi gösterir.
Aynı şekilde strtotime() fonksiyonunu da kullanabilirsin.
$yesterday = strtotime("yesterday");
veya
$yesterday = date("Ymd", strtotime("yesterday"));
-
Üyelik
30.04.2016
-
Yaş/Cinsiyet
30 / E
-
Meslek
Yazılım geliştirici
-
Konum
Tekirdağ
-
Ad Soyad
H** K**
-
Mesajlar
72
-
Beğeniler
25 / 24
-
Ticaret
1, (%100)
Esas sorduğun kısmı atlamışım, şu şekilde en başta yazdığım koda uyarlayabilirsin.
$aylar = array("Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık");
$yesterday = strtotime("yesterday");
echo date("Y", $yesterday)." ";
echo $aylar[date("m", $yesterday)]." ";
echo date("d", $yesterday);
Echo ile yazdırmak yerine değişkenlere de aktarabilirsin tabii.
$strYesterday = date("Y", $yesterday)." ".$aylar[date("m", $yesterday)]." ".date("d", $yesterday);
Tüm tarihi bu şekilde birleştirip bir string olarak saklayabilirsin. Tabii söylediğim gibi bu şekilde bir kullanımı önermiyorum. Esnek değil.
-
Üyelik
04.09.2017
-
Yaş/Cinsiyet
55 / E
-
Meslek
öğretmen
-
Konum
İzmir
-
Ad Soyad
H** Ç**
-
Mesajlar
32
-
Beğeniler
1 / 2
-
Ticaret
1, (%100)
çok teşekkür ederim. bu şekilde daha mantıklı haklısın. öbürünü seçme amacım sadece bir gün öncesi ile alakalı değildi bir kaç aylık geri dönüş vardı. date("d")-1, ile kafa karıştırmadan eski günleri buluyordum son yazdıklarını deneyecem artık.
-
Üyelik
30.04.2016
-
Yaş/Cinsiyet
30 / E
-
Meslek
Yazılım geliştirici
-
Konum
Tekirdağ
-
Ad Soyad
H** K**
-
Mesajlar
72
-
Beğeniler
25 / 24
-
Ticaret
1, (%100)
Son gönderdiğim mesajdaki kodda bir yeri düzeltmem gerekti. Az önce bir noktayı gözden kaçırmışım, şimdi doğru sonucu veriyor olması gerek.
-
Üyelik
04.09.2017
-
Yaş/Cinsiyet
55 / E
-
Meslek
öğretmen
-
Konum
İzmir
-
Ad Soyad
H** Ç**
-
Mesajlar
32
-
Beğeniler
1 / 2
-
Ticaret
1, (%100)
sanırım olacak gibi bir kaç deneme yapmam gerekecek. ama hep 30 Kasım 2017 sonucunu veriyor