Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
456
Tıklama
0
Öne Çıkarma
[Soru] PHP ile saniye ve milisaniye gizlieme
W
7 yıl
Yarbay
Konu Sahibi

Sql server içide bir tablo içinde "CreationTime" adında bir kolonum var. Bu kolon içinde zaman girdileri var.Zamanlar Ay Gün Yıl Saat Dakika Saniye Salise olarak gözüküyor. Örnek satır : Feb 20 2018 06:12:04:873 Sitede bir php kodu kullanıyorum kulllanıcıların ne zaman kayıt olduğunu göstermek için. Kodum aşağıdaki şekilde

$userdata["createtime"] = $row["CreateTime"]


Site bu kodu Feb 20 2018 06:12:04:873AM olarak gösteriyor. Ben sitede saniye ve salisenin gözükmesini istemiyorum o yüzden $row["CreateTime"] kısmında biraz düzenleme yapmam lazım. strtotime fonksiyonunu denedim salise olduğu için unix dönüşümü yapamadım. Bana 1 ocak 1970 i gösterdi. Başka birkaç fonksiyon daha denedim ama ne yaptıysam saniye ve saliseyi gizleyemedim. Sadece şu şekilde gözükmesini istiyorum. Feb 20 2018 06:12

Nasıl birşey yapabilirim ? linux kullanıyorum php versiyonu 5.2.17

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



R
7 yıl
Yüzbaşı

Sadece fikir vermesi açısından söylüyorum. Dediğin olayı regexp ile yapmak mümkün. "Düzenli ifade" olarak da geçiyor. Kendim epeydir düzenli ifadelerle uğraşmadığım için nasıl bir tanımlama yapmak gerekiyor ben de unuttum. Son : işaretinden kısmından öncesini çıkarıp alacaksın. Küçük bir araştırmayla halledilebilir.

2. çözüm olarak string türündeki Feb 20 2018 06:12:04:873AM ifadesinde PHP'nin explode fonksiyonu kullanarak her : ile ayrılan kısmını diziye parçalayabilirsin. Örneğin:

$time = explode(':', 'Feb 20 2018 06:12:04:873AM');
$time2 = $time[0] . ':' . $time[1];

$time2 değişkeninin çıktısı Feb 20 2018 06:12 olacaktır. explode fonksiyonunun içine kendi değişkenini koyman gerekir.


Bu mesaja 1 cevap geldi.
W
7 yıl
Yarbay
Konu Sahibi

quote:

Orijinalden alıntı: Revolution

Sadece fikir vermesi açısından söylüyorum. Dediğin olayı regexp ile yapmak mümkün. "Düzenli ifade" olarak da geçiyor. Kendim epeydir düzenli ifadelerle uğraşmadığım için nasıl bir tanımlama yapmak gerekiyor ben de unuttum. Son : işaretinden kısmından öncesini çıkarıp alacaksın. Küçük bir araştırmayla halledilebilir.

2. çözüm olarak string türündeki Feb 20 2018 06:12:04:873AM ifadesinde PHP'nin explode fonksiyonu kullanarak her : ile ayrılan kısmını diziye parçalayabilirsin. Örneğin:

$time = explode(':', 'Feb 20 2018 06:12:04:873AM');
$time2 = $time[0] . ':' . $time[1];

$time2 değişkeninin çıktısı Feb 20 2018 06:12 olacaktır. explode fonksiyonunun içine kendi değişkenini koyman gerekir.


$userdata["createtime"] = explode(":",$row["CreateTime"]);
$userdata2["createtime"] = $userdata["createtime"][0] . ':' . $userdata["createtime"][1];

Bu şekilde yaptım kodu ve çalıştı. İstediğim gibi Feb 20 2018 06:12 cevabını alıyorum.
Çok sağol. 2 gündür uğraşıyorum son çare buraya yazayım dedim. Kod dilinden anlamıyorum.Amatör oluca böyle şeyler çok vakit alıyor.

Acaba bunu tek satırda yazmanın bir yolu varmı ? Bu fonksiyonları iç içe geçirmeyi deneyeceğim normalde çalışması gerekir ama emin değilim.

Örnek olarak demek istediğim
$time = explode(':', 'Feb 20 2018 06:12:04:873AM');
$time2 = $time[0] . ':' . $time[1];

burda $time2 yazmak yerine yine $time olarak cevap almaya çalışmak. $time[0] . ':' . $time[1]; kodunu bir üst satıra entegre etmeye çalışmak gibi birşey.


Bu mesaja 1 cevap geldi.
R
7 yıl
Yüzbaşı

Ben orada farklı bir değişken ismi olarak $time2 kullandım ama tekrardan eski değişken olan $time ın üzerine yazılabilir 2. satırda. Ayrı bir değişken ismi kullanmayabilirsin. $userdata2 gibi ayrı bir değişen kullanmak istemiyorsun anladığım kadarıyla. $userdata2 yazdığın yere tekrar $userdata yazabilirsin.



< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @Wade
V
7 yıl
Onbaşı

$userdata["createtime"] = substr($row["CreateTime"], 0, strrpos( $row["CreateTime"], ':') );



< Bu ileti DH mobil uygulamasından atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.