Hakkimda Ana Sayfa Yazılar Dosyalar Kısa Kısa Ziyaretçi Defteri Tasarım İletişim Ana Sayfa
ANA MENÜ



KATEGORİLER



PROJELER

 Çağdaş Türk Lehçeleri KlavyesiGöktürkçe KlavyeGeliştirilmiş Osmanlıca Klavye


ARAMA


PROFİLLER


Facebook profilim Google Plus profilim Twitter sayfam Youtube videolarım RSS bağlantısı


REKLAMLAR



Çeviri
Yurtdışında Eğitim
Telefon Dinleme
Dinleme Cihazları


Kas 1

ASP'de Tarih ve Saat İşlemleriyle İlgili Fonksiyonlar


1 Kasım 2008 Cumartesi | 11 yorum

ASP programlama dili ile bir İnternet sayfası tasarlarken, tasarlanan sayfa üzerine günün tarihini ya da o anki saati yazdırmak oldukça basittir: date(), time() ve now(). Bu üç fonksiyon kullanılarak tarih ve saat ile ilgili pek çok bilginin sayfa üzerine yazdırım işlemi gerçekleştirilebilmekte, hatta iki zaman arasındaki farkı hesaplama gibi karmaşık işlemler de kolayca yapılabilmektedir. Her ASP programcısının mutlaka bilmesi gereken bu fonksiyonların detaylarını, kullanım alanlarını ve ilgili örnekleri yazının devamında bulabilirsiniz.

Tarihle İlgili Fonksiyon: date()

<%=date()%> şeklinde kullanılır ve o anki tarihi 30.10.2008 şeklinde ekrana yazdırır. Tarih, doğrudan sunucudan alınır ve sunucunun ayarlarına göre dizilimi değişiklik gösterebilir. Türkiye için gg.aa.yyyy (gün.ay.yıl) şeklinde olan tarih formatı, aa.gg.yyyy şeklinde olabileceği gibi gg/aa/yyyy şeklinde de olabilir.

Bu fonksiyon üzerinde - ve + operatörleri ile pek çok işlem yapılabilmektedir. Örneğin; <%=date()-2%> gibi bir ifâde ile 2 gün önceki tarih, <%=date()+4%> gibi bir ifâde ile de 4 gün sonraki tarih ekrana yazdırılabilir.

Fonksiyon üzerindeki işlemler:

day: <%=day(date)%> Günü yazdırır.
month: <%=month(date)%> Ayı yazdırır.
monthname: <%=monthname(month(date))%> Ay ismini yazdırır.
weekday: <%=weekday(date)%> Kaçıncı gün olduğunu yazdırır.
weekdayname: <%=weekdayname(weekday(date))%> Gün ismi yazdırır.
year: <%=year(date)%> Yılı yazdırır.

Saatle İlgili Fonksiyon: time()

<%=time()%> şeklinde kullanılır ve 12:55:00 şeklinde o anki saati ekrana yazdırır. Tarihte olduğu gibi saat de doğrudan sunucu üzerinden alınır ve fonksiyon için, tarih fonksiyonunda geçerli olan her şey geçerlidir. Türkiye için ss:dd:ss (saat:dakika:saniye) şeklinde yazdırılır.

Fonksiyon üzerindeki işlemler:

hour: <%=hour(time)%> Saati yazdırır.
minute: <%=minute(time)%> Dakikayı yazdırır.
second: <%=second(time)%> Saniyeyi yazdırır.

Tarih ve Saatin Ortak Fonksiyonu: now()

<%=now()%> şeklinde kullanılır ve 30.10.2008 12:55:00 şeklinde hem tarihi hem de saati ekrana yazdırır. Tarih ve saat fonksiyonları için geçerli olan kıstaslar bu fonksiyon için de geçerlidir.

ASP tarih ve saat kodları, Date fonksiyonu, Now fonksiyonu, Hour fonksiyonu, ASP ekrana tarih ve saat yazdırmak, Günün saati

9188 okunma 11 yorum Yazıcı şekli İndir Paylaş

Yorumlar

M. Fikret Ölmez / 3 Kasım 2008 Pazartesi - 11:41
Teşekkür ederim bilgilendirme için. Aslında kodlar çok karmaşık değil de başta öyle gözüküyor. Bir de datediff ile iki tarih arasındaki fark hesaplanabiliyor, onu eklemek isterim...
<%datediff(year,’2006.5.25′,’2008.6.13′)%> gibi.

Salih S. DEMİR / 8 Kasım 2008 Cumartesi - 13:08
Ben <%=minute(time)%> olarak kullandığımda dakika eğer 01, 05 gibiyse sadece 5 veya 1 yazıyor. Bunun bir tanımı var mı yoksa If lerle tanımlamak mı lazım?

İsa Sarı / 8 Kasım 2008 Cumartesi - 14:13
Salih Bey,
Maalesef bunun bir çözümü yok. Sizin de dediğiniz gibi if'ler ile tanımlamak gerekli. Şu şekilde yapılabilir:
<%
if len(minute(time))=1 then
minute= "0"& minute
end if
%>

Salih S. DEMİR / 8 Kasım 2008 Cumartesi - 14:28
İlgilendiğiniz için teşekkürler.

Salih S. DEMİR / 8 Kasım 2008 Cumartesi - 23:10
Yine rahatsız ediyorum,

Ben veritabanına kayıtlı bir tarihi (gg.aa.yyyy saat:dd:ss olarak kaydediliyor)

<%=month(ns("eklenme"))%> olarak ayı yazdırabiliyorum ama month yerine date yazdığımda olmuyor. Bunu nasıl yazdırabilirim.

İsa Sarı / 9 Kasım 2008 Pazar - 08:13
Rica ederim Salih Bey,
"Date" yazdırmak için şu şekilde bir fonksiyon kurabilirsiniz:
<%=day(ns("eklenme"))%>.<%=month(ns("eklenme"))%>.<%=year(ns("eklenme"))%>

Bu sayede ekrana 10.11.2008 gibi bir tarihi yazdırabilirsiniz, yani "date"i çekmiş olursunuz.

Salih S. DEMİR / 9 Kasım 2008 Pazar - 09:30
Teşekkürler, aslında bunu denedim ama ilk mesajda belirttiğim 0 sorunu çıktı. Bende araştırmaya devam ettim ve http://www.w3schools.com/VBscript/func_datevalue.asp bu linkteki özelliği uyguladım

<%=DateValue(ns("eklenme"))%>

sonuç

08.11.2008

gerçekten bilmediğim ne kadar çok özellik varmış :)

İsa Sarı / 9 Kasım 2008 Pazar - 12:59
W3Schools bu konuda oldukça başarılı ve sitesi içerisinde pek çok bilgi barındırıyor. Bu bilgilendirici yorumlarınız da bu konuda sorun yaşayanlar için çok iyi olacaktır. Teşekkür ederim.

Ercan Acar / 4 Aralık 2009 Cuma - 23:07
Peki iki tarik arasını nasıl yazdırabiliriz

önek: 12 yıl öncesi ile 70 yıl öncesi arasındaki tarihleri açılır menüye yazdırmak istiyoruz. listeye tek tek yazmaktansa 12 ve 70 yılları arasında yıllar açılır menüde çıkacak???

Mustafa Ka / 3 Ağustos 2010 Salı - 22:20
(asp) text'in yanında bulunan butona tıklayınca günün tarihini atsın istiyorum.Yardımcı olabilir misiniz?

Harun KARADAĞ / 13 Mart 2012 Salı - 15:41

Mustafa K öncelikle söylediğin şey post etmeden yapılsın istiyorsan (sayfa yeniden yüklenmeden) bu iş için saedece asp kodu yetmez. javascript kullanmak zorundasın. sorun değil sayfa yeniden yuklenebilir diyorsan asp ile yapabilirsin.

<input type="text" name="tarih" value="<%=request("tarih")%>">

ister form verisi olarak gönder ister querystring ile.
buton ile yaparsan butonun onclick yokdamına eklersin. veya butona gerek yok. normal resim veya yaziya link ver.

<input type="text" name="tarih" value="<%=request("tarih")%>">
<a href="?Tarih=<%=now()%>">Tarihi kutuya yaz</a>

bu kadar. ama bu formu sonra başka yere göndermek gibi bir düşüncen varsa zaten kutuya yazmana gerek yok. post edildiği yere dogrudan <%=now()%> yaz yeterli.

ana senin esas aradığın bu sanırım.
<form name="BildiginForm">
<INPUT type="button" name="saatyaz" value="Bas" onclick=" document.BildiginForm.saat.value ='<%=time()%>'" >
<input type="text" name="saat" value=":)" size="20">
</form>

Ayrıca İsa Arkadaşımız demişki
Salih Bey,
Maalesef bunun bir çözümü yok. Sizin de dediğiniz gibi if'ler ile tanımlamak gerekli. Şu şekilde yapılabilir:
<%
if len(minute(time))=1 then
minute= "0"& minute
end if
%>
demişsiniz. bu döngü ile epey kod yazdırmayı gerektirecek
Len ile değerin 2 den küçük olduğunu kontrol ederek kodu biraz kısaltabiliriz.
ama çok daha iyi bir çözümü var.
Format .
Format Atın :) .Yok format atmak değildi. Bu tam kaptırmış kod yazarken zurnanın zırt dediği yerde zırrrr diye bir telefon çalınca ve karşıdaki kişinin internet bağlantısı gitmiş ve telekom idaresi benim malımmış gibi "msn ye niye giremiyooomm" diyorsa kodlar kafadan uçup gitmesin diye telefonu bir an önce kapatmak için söylenen teknik servis çözümüydü.(ohh olsun :P)
Ama Format yine çözüm olabilir. Nasıl mı ?

saatimiz = "3:21:6"
response.write FormatDateTime(saatimiz ,3)

bu kadaaacııık

bana sadece dakika lazım. olmadı bu diyorsanız. onuda yapalım olur. kodumuzda ufak bi degisiklik daha dogrusu ekleme ile ister saat ister dakika ister sn alabiliriz.

saatimiz = "3:21:6"
saatimiz= FormatDateTime(saatimiz ,3)
split(saatimiz,":")
response.write saatimiz(1)

bukadaacıkkk
saati isterseniz saatimiz(0)
saniyeyiisterseniz saatimiz(1)

suyunu çıkartalım dahada kısaltalım mı :)
<%=cdate("3:2:11")%>

:)))))))) Bu kadar yaw. kasmaya gerek yok. Bu arada ASP ye laf atanlara da kapak olsun.
Hocam bir kere daha hatırlattı sözünü. "Kötüp Programlama dili, kötü platform, kötü veritabanı , kötü bilgisayar vs yoktur. sadece yetersiz programcı, sadece beceriksiz kullanıcı vardır."

Ayrıca tarih ve saat olayı asp de bununla bitmiyor.
dateadd, datediff konularındada mutlaka araştırma yapın. o zaman belkide çok uğraştıgınız veya hatalı yaptıgınız tarihler saatler arasında toplama çıkarma işlemlerini yine böyle bir satır kod ile yapabileceksiniz.

konunun üzerinden epey zaman geçmiş ama araştıranlar oluyor. ben nerden geldim bu sayfaya yaw :S . dünya saat farklarını meridyene göre otomatik çevirecek bir fonksiyon arıyodum :D ( en iyisi api yazmaya başlayam. biraz zor bulcam )


Yorum Ekle

  Ad - Soyad
  E-posta Adresi
  Ağ Sitesi

Yorumum aşağıdaki şartlara uygundur. Yeni yorumlarda uyarı mesajı gönder.

Yazacağınız yorum ve mesajlarda,
- Gerçek adınızı ve soyadınızı belirtiniz.
- Geçerli bir e-posta adresi giriniz.
- Dilbilgisi kurallarına uyunuz.

Bu şartları sağlamayan yorum ve mesajlar yayımlanmayacaktır.



2002-2012 isa-sari.com :: Tüm hakları saklıdır :: İzinsiz belge ve yazı alınamaz :: İletişim için buraya tıklayınız.