Tarih ve Saat Fonksiyonu

Cizgiler Fonksiyonu

Fonksiyonun Kullanım Şekli
  • Sistem.Tarih;
  • Sistem.Saat;
  • Sistem.SaatAraligi(“15:00”, “16:30”);
  • Sistem.TarihAraligi(“2013.01.20”, “2013.01.21”);
Fonksiyonun Amacı

IDEAL platformunda herhangi bir zaman bilgisi kullanılmak istendiğinde, bunun için çok çeşitli imkan ve bilgilere erişim imkanı bulunmaktadır. IDEAL tarafından eklenmiş olan yukarıdaki dört fonksiyon, IDEAL üzerinden gelen veri yayınında damgalanmış olan saat ve tarih bilgilerini kullanır.

Örnek Kullanım

Saat ve Tarih fonksiyonlarının dönüş formatları aşağıdaki örnekte gösterildiği şekildedir.

Saat Aralığı ve Tarih Aralığı fonksiyonlarının dönüş değeri “true” veya “false” şeklindedir. Yani DOĞRU veya YANLIŞ. Fonksiyon içine iki ayrı saat bilgisi girildiğinde, şu an bulunulan saat, oraya girilen aralıkta ise true değilse false döner cevap. Aşağıdaki ÖRNEK3, bir zaman aralığındaysak bir işi yap, değilsek başka bir işi yap planlaması yapmayı gösterir.

C# Zaman Fonksiyonları

IDEAL platformu sistem panelinde kodlama yaparken C# yazılım dilinde yazılım yapılırken kullanılabilen yaygın komutların pek çoğu iDeal kod panelinde de geçerlidir. Zaman’a ait öğrenilmek istenen bilgiler için C# yazılım dilinde kullanılan komut DateTime komutudur ve bu komut zaman ile alakalı çok fazla seçenek sunar. Bu seçeneklerin listesi aşağıda listelenmiştir. C# temelli komutları başlarına “Sistem.” Yazmadan kullanabilirsiniz.

DateTime.Now;
DateTime.Today;
DateTime.Now.Date;
DateTime.Now.Day;
DateTime.Now.DayOfYear;
DateTime.Now.DayOfWeek;
DateTime.Now.Hour;
DateTime.Now.Millisecond;
DateTime.Now.Minute;
DateTime.Now.Month;
DateTime.Now.Second;
DateTime.Now.TimeOfDay;
DateTime.Now.Year;
Grafik Barlarının zaman bilgilerine ulaşma örneği

ÖRNEK: BAR listesini oku. Tüm barların GÜN bilgileri bir listeye al. Eğer günlerden Pazartesi ise AL, CUMA ise SAT şeklinde kurgulanmış bir sistem.

NOT: Yukarıda DateTime.Now.XXXX şeklinde belirtilen tüm metodları Bir bara ait tarih komutuna uygulayabilirsiniz. (Veriler[i].Date.DayOfYear (yılın kaçıncı günü) gibi.

var Veriler = Sistem.GrafikVerileri;
var gunler = new List<string>(); 

for (int i = 0; i < Veriler.Count; i++)
  gunler.Add(""); 

var SonYon="";
for (int i = 1; i < Veriler.Count; i++)
{
   gunler[i] = Veriler[i].Date.DayOfWeek.ToString();
   if (gunler[i] == "Monday" && SonYon!="A")
   {
      Sistem.Yon[i] = "A";
      SonYon = "A";
   }
   if (gunler[i] == "Friday" && SonYon!="S")
   {
      Sistem.Yon[i] = "S";
      SonYon = "S";
   }
}

Zaman Verileri Üzerinde İşlem Yapmak

Bilgisayardan, yayından veya bir grafik barından elde edilen zaman verisi üzerinde işlem yapmak ihtiyacı olabilir. Örneğin bir barın kapanma zamanından 5 saniye önce bir işlem yapmak gibi. Bu gibi ihtiyaçlar için Zaman verisi üzeinde aşağıdaki komutları kullanarak işlem yapılabilir (zamana ekleme/çıkarma)

ÖRNEK-1:Şimdiki zamanı okuyup, gün,dakika,yıl,saniye ekleme çıkarma yapıp başka değişkenlere aktarma.

var zaman = DateTime.Now;

var z4 = zaman.AddSeconds(-12);
var z5 = zaman.AddMinutes(30);
var z2 = zaman.AddHours(3);
var z3 = zaman.AddDays(-2);
var z1 = zaman.AddMonths(1);
var z6 = zaman.AddYears(5);

ÖRNEK-2: iki ayrı zaman bilgisini birbiriyle veya bir zamanı tanımlı bir zamanla kıyaslama:

C# yazılımlarında iki zaman verisini birbiriyle kıyaslamak için .CompareTo komutu kullanılır. Bu komutun dönüşü +1 Sıfır veya -1 olarak döner. Saat tam 17:44:59 olunca şu işlemi yap demek için aşağıdaki kod parçası kullanılır;

var saat = Sistem.Saat; 

if (saat.CompareTo("17:44:59") == 0)
{
   //YAPILMASI İSTENEN İŞLEMLER
}

ÖRNEK-3: Saat 20:55 ile 21:00 aralığındaysak mail at (mesela ekranımın fotoğrafını, grafikteki son bar değerlerini vs) 21:00 ile 22:00 arasında ise önceden tanımladığım 4 sembolün grafik verilerini güncelle:

var t1 = "20:55" ; 
var t2 = "21:00" ;
var t3 = "22:00" ; 

if (Sistem.SaatAraligi(t1, t2) == true)
{
   Sistem.MailGonder();
}
else if (Sistem.SaatAraligi(t2, t3) == true)
{
   Sistem.GrafikVerisiIndir(Sembol1,"G")
   Sistem.GrafikVerisiIndir(Sembol2,"G")
   Sistem.GrafikVerisiIndir(Sembol3,"G")
   Sistem.GrafikVerisiIndir(Sembol4,"G")
}

 

Daha Fazla Bilgiye mi İhtiyacınız Var?

Ürünlerimiz veya hizmetlerimizle ilgili yardıma ihtiyacınız varsa, lütfen bizimle temasa geçin.