Kas 20, 2014 - X++    Yorum Yok

Tarih Metodları (Date Methods)

Axapta üzerinde işlemler yaparken çok kez tarih işlemleriyle karşı karşıya kalırız. Bu durumla çözümler bulabilmek için çeşitli tarih fonksiyonlarından yararlanırız. Bende bu konuda bu fonksiyonlardan bahsetmeye çalışacağım.

Zaman zaman karşımıza tarih ile ilgili bir işlem yapmamız ve bir değer döndürmemiz istenir. Bu gibi durumlarda aşağıda bahsedeceğimiz fonksiyonlardan yararlanarak işimi çok daha rahat çözmemiz sağlanır.

static void Erkn_DateMethods(Args _args)
{
    TransDate       date1, date2;
    TransDate       date3, date4;
    int             yearValue, monthValue;
    int             value;
    TimeHour24      timeSec;
    int             diff;
    str             name;

    date1 = systemDateGet(); //Sistem tarihini alır(Client üzerindeki makinedeki saati alır)
    date2 = today(); //Sistem tarihini alır(AOS un kurulu olduğu makinedeki saati alır)
    info(strFmt("systemDateGet = %1",date1));
    info(strFmt("today = %1", date2));

    timeSec = timeNow();//Sistem saatini saatini saniye cinsinden alır
    info(strFmt("timeNow = %1", timeSec));

    //mkDate : girilen değerlere göre tarih oluşturur
    //tarihDegiskeni = mkDate(gün,ay,yıl) //int cinsinden değerler verilir.
    date2 = mkDate(18,11,2014);
    info(strFmt("mkDate = %1", date2));

    //-----------------------------------------------------
    date3 = nextMth(date2); //Verilen tarihe bir ay ekler
    info(strFmt("nextMth = %1", date3));

    date3 = nextYr(date1); //Verilen tarihe bir yıl ekler
    info(strFmt("nextYr = %1", date3));

    date3 = nextQtr(date1);//Verilen tarihe bir çeyrek(4 ay) ekler
    info(strFmt("nextQtr = %1", date3));

    //-----------------------------------------------------
    date4 = prevMth(date1);//Verilen tarihe bir ay çıkartır
    info(strFmt("prevMth = %1", date4));

    date4 = prevQtr(date1);//Verilen tarihe bir çeyrek(4 ay) çıkartır
    info(strFmt("prevQtr = %1", date4));

    date4 = prevYr(date1);////Verilen tarihe bir yıl çıkartır
    info(strFmt("prevYr = %1", date4));

    //-----------------------------------------------------
    date4 = dateStartMth(date1); //Verilen tarihin ay bazında ilk gününü döndürür.
    info(strFmt("dateStartMth = %1", date4));

    date4 = dateEndMth(date1); //Verilen tarihin ay bazında son gününü döndürür.
    info(strFmt("dateEndMth = %1", date4));

    //-----------------------------------------------------
    date3 = dateStartWk(date2); //verilen tarihin hafta bazında ilk gününü (tarih olarak) döndürür
    info(strFmt("dateStartWk = %1", date3));

    date3 = dateEndWk(date2); //verilen tarihin hafta bazında son gününü (tarih olarak) döndürür
    info(strFmt("dateEndWk = %1", date3));

    //-----------------------------------------------------
    yearValue = year(date1); //Girilen tarihin yılını döndürür (int olarak)
    info(strFmt("year = %1", yearValue));

    monthValue = mthOfYr(date2);  //Girilen tarihin ayını döndürür (int olarak)
    info(strFmt("monthValue = %1", monthValue));

    //-----------------------------------------------------
    value = dayOfYr(date1); //Girilen tarihteki günün yılın kaçıncı günü olduğunu döndürür.
    info(strFmt("dayOfYr = %1", value));
    value = dayOfMth(date1);//Girilen tarihteki günün ayın kaçıncı günü olduğunu döndürür.
    info(strFmt("dayOfMth = %1", value));
    value = mthOfYr(date1);//Yılın kaçıncı ayı olduğunu döndürür.
    info(strFmt("mthOfYr = %1", value));
    value = wkOfYr(date1);//Yılın kaçıncı haftası olduğunu döndürür.
    info(strFmt("wkOfYr = %1", value));
    value = dayOfWk(date1);//Haftanın kaçıncı günü olduğunu döndürür.
    info(strFmt("dayOfWk = %1", value));

    //-----------------------------------------------------
    name = dayName(dayOfWk(date1));//Verilen günün ismini döndürür.İnt değer alır. dayOfWk ile kullanmak sağlıklıdır.
    info(strFmt("dayName = %1", name));

    name = mthName(mthofyr(date1));//Verilen ayın ismini döndürür.İnt değer alır. mthofyr ile kullanmak sağlıklıdır.
    info(strFmt("mthName = %1", name));
    //Not isimler ingilizcedir.

    //-----------------------------------------------------
    //Tarihlerle İşlemler

    diff = date1 - date2; //İki tarih arası farkı bulur. Bu fark gün cinsindendir.
    info(strFmt("Tarih Farkı = %1", diff));

    date3 = date1 + 26; //Tarihe gün ekler
    info(strFmt("Tarih Ekleme = %1", date3));

    timeSec = timeSec + 50; //Zamana saniye ekler
    info(StrFmt("Saniye Ekleme = %1", timeSec));
}

Bu yukarıdaki metodların dışında “DateTimeUtil” classıylada bir çok çeviri işlemi yapılabilir. İleriki konularımızda bu classa değinebiliriz.

Erkan OĞUZ

Önceki Konu->

<- Sonraki Konu

Benzer yazılar

Yorum Yazın...