Tarih ve Zaman Fonksiyonları

Today / Bugun

  • Dönüş Tipi: Variant (String - Tarih)
  • Parametreler: Yok
  • Açıklama: Bugünün tarihini döndürür

Örnek Kullanım:

Sub Makro1()
    Dim BugunTarihi
    BugunTarihi = Doc.Today()
    Doc.MsgBox "Bugünün Tarihi: " & BugunTarihi
    
    ' Veya Bugun fonksiyonu ile
    BugunTarihi = Doc.Bugun()
    Doc.SetFieldValue "TABLO1", "TARIH", 0, BugunTarihi
End Sub

Today_GMT

  • Dönüş Tipi: Variant (String - Tarih)
  • Parametreler: Yok
  • Açıklama: Bugünün tarihini GMT olarak döndürür

Örnek Kullanım:

Sub Makro1()
    Dim TarihGMT
    TarihGMT = Doc.Today_GMT()
    Doc.MsgBox "GMT Tarih: " & TarihGMT
End Sub

Bugun2

  • Dönüş Tipi: Variant (String - Tarih)
  • Parametreler:
  • - format (Integer): Tarih formatı
  • Açıklama: Bugünün tarihini belirtilen formatta döndürür

Örnek Kullanım:

Sub Makro1()
    Dim Tarih
    Tarih = Doc.Bugun2(1)  ' Format 1
    Doc.MsgBox "Formatlanmış Tarih: " & Tarih
End Sub

STime / Saat

  • Dönüş Tipi: Variant (String - Zaman)
  • Parametreler:
  • - format (Integer): Zaman formatı
  • Açıklama: Şu anki zamanı döndürür

Örnek Kullanım:

Sub Makro1()
    Dim Zaman
    Zaman = Doc.STime(1)  ' Format 1
    Doc.MsgBox "Şu Anki Zaman: " & Zaman
    
    ' Saat fonksiyonu ile
    Zaman = Doc.Saat(0)  ' Format 0
    Doc.SetFieldValue "TABLO1", "SAAT", 0, Zaman
End Sub

STime_GMT

  • Dönüş Tipi: Variant (String - Zaman)
  • Parametreler:
  • - format (Integer): Zaman formatı
  • Açıklama: Şu anki zamanı GMT olarak döndürür

Örnek Kullanım:

Sub Makro1()
    Dim ZamanGMT
    ZamanGMT = Doc.STime_GMT(1)
    Doc.MsgBox "GMT Zaman: " & ZamanGMT
End Sub

GetTickCount

  • Dönüş Tipi: Double
  • Parametreler: Yok
  • Açıklama: Sistem tick sayısını döndürür (performans ölçümü için)

Örnek Kullanım:

Sub Makro1()
    Dim Baslangic, Bitis, Sure
    Baslangic = Doc.GetTickCount()
    
    ' İşlem yap
    Dim i
    For i = 1 To 1000
        ' İşlemler
    Next
    
    Bitis = Doc.GetTickCount()
    Sure = Bitis - Baslangic
    Doc.MsgBox "İşlem Süresi: " & Sure & " ms"
End Sub

StrToDate

  • Dönüş Tipi: Variant (Date)
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: String'i tarihe çevirir

Örnek Kullanım:

Sub Makro1()
    Dim TarihStr, Tarih
    TarihStr = "2024/01/15"
    Tarih = Doc.StrToDate(TarihStr)
    Doc.MsgBox "Tarih: " & Tarih
    
    ' Alan değerine atama
    Doc.SetFieldValue "TABLO1", "TARIH", 0, Tarih
End Sub

StrToNorDate

  • Dönüş Tipi: Variant (Date)
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: String'i normalize edilmiş tarihe çevirir

Örnek Kullanım:

Sub Makro1()
    Dim TarihStr, Tarih
    TarihStr = "2024-01-15"
    Tarih = Doc.StrToNorDate(TarihStr)
    
    ' Tarihi formatla
    Dim FormatliTarih
    FormatliTarih = Replace(Tarih, "/", "-")
    Doc.MsgBox "Normalize Tarih: " & FormatliTarih
End Sub

StrToRevDate

  • Dönüş Tipi: Variant (Date)
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: String'i reverse tarihe çevirir (gün/ay/yıl formatından)

Örnek Kullanım:

Sub Makro1()
    Dim TarihStr, Tarih
    TarihStr = "15/01/2024"
    Tarih = Doc.StrToRevDate(TarihStr)
    Doc.MsgBox "Reverse Tarih: " & Tarih
End Sub

Date_StrToNum

  • Dönüş Tipi: Integer
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: Tarih string'ini sayıya çevirir

Örnek Kullanım:

Sub Makro1()
    Dim TarihStr, TarihNum
    TarihStr = "2024/01/15"
    TarihNum = Doc.Date_StrToNum(TarihStr)
    Doc.MsgBox "Tarih Sayısı: " & TarihNum
End Sub

Date_NumToStr

  • Dönüş Tipi: Variant (String)
  • Parametreler:
  • - dateNumber (Double): Tarih sayısı
  • Açıklama: Tarih sayısını string'e çevirir

Örnek Kullanım:

Sub Makro1()
    Dim TarihNum, TarihStr
    TarihNum = 20240115
    TarihStr = Doc.Date_NumToStr(TarihNum)
    Doc.MsgBox "Tarih String: " & TarihStr
End Sub

StrDate_Year

  • Dönüş Tipi: Integer
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: Tarih string'inden yılı döndürür

Örnek Kullanım:

Sub Makro1()
    Dim Tarih, Yil
    Tarih = Doc.Today()
    Yil = Doc.StrDate_Year(Tarih)
    Doc.MsgBox "Yıl: " & Yil
End Sub

StrDate_Month

  • Dönüş Tipi: Integer
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: Tarih string'inden ayı döndürür

Örnek Kullanım:

Sub Makro1()
    Dim Tarih, Ay
    Tarih = Doc.Today()
    Ay = Doc.StrDate_Month(Tarih)
    Doc.MsgBox "Ay: " & Ay
End Sub

StrDate_Day

  • Dönüş Tipi: Integer
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: Tarih string'inden günü döndürür

Örnek Kullanım:

Sub Makro1()
    Dim Tarih, Gun
    Tarih = Doc.Today()
    Gun = Doc.StrDate_Day(Tarih)
    Doc.MsgBox "Gün: " & Gun
End Sub

StrDate_Increment

  • Dönüş Tipi: Variant (String)
  • Parametreler:
  • - dateString (String): Tarih string'i
  • - days (Integer): Gün sayısı
  • Açıklama: Tarihe gün ekler

Örnek Kullanım:

Sub Makro1()
    Dim Tarih, YeniTarih
    Tarih = Doc.Today()
    YeniTarih = Doc.StrDate_Increment(Tarih, 30)  ' 30 gün ekle
    Doc.MsgBox "Eski Tarih: " & Tarih & Chr(13) & "Yeni Tarih: " & YeniTarih
End Sub

AyinIlkGunu

  • Dönüş Tipi: Variant (String)
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: Ayın ilk gününü döndürür

Örnek Kullanım:

Sub Makro1()
    Dim Tarih, IlkGun, SonGun
    Tarih = Doc.Today()
    
    IlkGun = Doc.AyinIlkGunu(Tarih)
    SonGun = Doc.AyinSonGunu(Tarih)
    
    Doc.MsgBox "Ayın İlk Günü: " & IlkGun & Chr(13) & "Ayın Son Günü: " & SonGun
End Sub

AyinSonGunu

  • Dönüş Tipi: Variant (String)
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: Ayın son gününü döndürür

Örnek Kullanım:

Sub Makro1()
    Dim Tarih, SonGun
    Tarih = Doc.Today()
    SonGun = Doc.AyinSonGunu(Tarih)
    Doc.MsgBox "Ayın Son Günü: " & SonGun
End Sub

HaftaninIlkGunu

  • Dönüş Tipi: Variant (String)
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: Haftanın ilk gününü döndürür

Örnek Kullanım:

Sub Makro1()
    Dim Tarih, HaftaIlkGun
    Tarih = Doc.Today()
    HaftaIlkGun = Doc.HaftaninIlkGunu(Tarih)
    Doc.MsgBox "Haftanın İlk Günü: " & HaftaIlkGun
End Sub

HaftaninSonGunu

  • Dönüş Tipi: Variant (String)
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: Haftanın son gününü döndürür

Örnek Kullanım:

Sub Makro1()
    Dim Tarih, HaftaSonGun
    Tarih = Doc.Today()
    HaftaSonGun = Doc.HaftaninSonGunu(Tarih)
    Doc.MsgBox "Haftanın Son Günü: " & HaftaSonGun
End Sub

YilinIlkGunu

  • Dönüş Tipi: Variant (String)
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: Yılın ilk gününü döndürür

Örnek Kullanım:

Sub Makro1()
    Dim Tarih, YilIlkGun
    Tarih = Doc.Today()
    YilIlkGun = Doc.YilinIlkGunu(Tarih)
    Doc.MsgBox "Yılın İlk Günü: " & YilIlkGun
End Sub

YilinSonGunu

  • Dönüş Tipi: Variant (String)
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: Yılın son gününü döndürür

Örnek Kullanım:

Sub Makro1()
    Dim Tarih, YilSonGun
    Tarih = Doc.Today()
    YilSonGun = Doc.YilinSonGunu(Tarih)
    Doc.MsgBox "Yılın Son Günü: " & YilSonGun
End Sub

WeekToDate

  • Dönüş Tipi: Variant (String)
  • Parametreler:
  • - year (Integer): Yıl
  • - week (Integer): Hafta
  • - dayOfWeek (Integer): Haftanın günü
  • Açıklama: Hafta bilgisinden tarih oluşturur

Örnek Kullanım:

Sub Makro1()
    Dim Tarih, Yil, Hafta, Gun
    Set Tarih = Doc.CreateSObject("d7Date")
    
    Yil = 2024
    Hafta = 3
    Gun = 1  ' Pazartesi
    
    Dim GunSayisi
    GunSayisi = Tarih.WeekToDate(Yil, Hafta, Gun)
    
    Dim Mesaj
    Mesaj = "WeekToDate fonksiyonu sonucu:"
    Mesaj = Mesaj & Chr(13) & "Gün sayısı   " & Chr(9) & ": " & GunSayisi
    Mesaj = Mesaj & Chr(13) & "Atanan Tarih" & Chr(9) & ": " & Tarih.GetNorDate()
    
    Doc.MsgBox Mesaj
End Sub

WeekToDate_ISO

  • Dönüş Tipi: Variant (String)
  • Parametreler:
  • - year (Integer): Yıl
  • - week (Integer): Hafta
  • - dayOfWeek (Integer): Haftanın günü
  • Açıklama: ISO formatında hafta bilgisinden tarih oluşturur

Örnek Kullanım:

Sub Makro1()
    Dim Tarih, Yil, Hafta, Gun
    Set Tarih = Doc.CreateSObject("d7Date")
    
    Yil = 2024
    Hafta = 3
    Gun = 1
    
    Dim GunSayisi
    GunSayisi = Tarih.WeekToDate_ISO(Yil, Hafta, Gun)
    
    Doc.MsgBox "ISO Hafta Tarihi: " & Tarih.GetNorDate()
End Sub

FormatSaat

  • Dönüş Tipi: Variant (String)
  • Parametreler:
  • - timeString (String): Zaman string'i
  • - format (Integer): Format tipi
  • Açıklama: Zamanı formatlar

Örnek Kullanım:

Sub Makro1()
    Dim Zaman, FormatliZaman
    Zaman = Doc.STime(0)
    FormatliZaman = Doc.FormatSaat(Zaman, 1)
    Doc.MsgBox "Formatlı Zaman: " & FormatliZaman
End Sub

DTDTDif1

  • Dönüş Tipi: Variant
  • Parametreler:
  • - date1 (String): İlk tarih
  • - date2 (String): İkinci tarih
  • - format1 (String): İlk format
  • - format2 (String): İkinci format
  • Açıklama: İki tarih arasındaki farkı hesaplar

Örnek Kullanım:

Sub Makro1()
    Dim Tarih1, Tarih2, Fark
    Tarih1 = "2024/01/01"
    Tarih2 = "2024/01/31"
    Fark = Doc.DTDTDif1(Tarih1, Tarih2, "", "")
    Doc.MsgBox "Tarih Farkı: " & Fark
End Sub

DTDTDifD

  • Dönüş Tipi: Variant
  • Parametreler:
  • - date1 (String): İlk tarih
  • - date2 (String): İkinci tarih
  • - format1 (String): İlk format
  • - format2 (String): İkinci format
  • Açıklama: İki tarih arasındaki gün farkını hesaplar

Örnek Kullanım:

Sub Makro1()
    Dim Tarih1, Tarih2, GunFarki
    Tarih1 = "2024/01/01"
    Tarih2 = "2024/01/31"
    GunFarki = Doc.DTDTDifD(Tarih1, Tarih2, "", "")
    Doc.MsgBox "Gün Farkı: " & GunFarki
End Sub

DTDTDifS

  • Dönüş Tipi: Variant
  • Parametreler:
  • - date1 (String): İlk tarih
  • - date2 (String): İkinci tarih
  • - format1 (String): İlk format
  • - format2 (String): İkinci format
  • Açıklama: İki tarih arasındaki saniye farkını hesaplar

Örnek Kullanım:

Sub Makro1()
    Dim Tarih1, Tarih2, SaniyeFarki
    Tarih1 = "2024/01/01 10:00:00"
    Tarih2 = "2024/01/01 11:30:00"
    SaniyeFarki = Doc.DTDTDifS(Tarih1, Tarih2, "", "")
    Doc.MsgBox "Saniye Farkı: " & SaniyeFarki
End Sub

CDateToInt

  • Dönüş Tipi: Integer
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: Tarih string'ini integer'a çevirir

Örnek Kullanım:

Sub Makro1()
    Dim TarihStr, TarihInt
    TarihStr = "2024/01/15"
    TarihInt = Doc.CDateToInt(TarihStr)
    Doc.MsgBox "Tarih Integer: " & TarihInt
End Sub

IsStrDate

  • Dönüş Tipi: Boolean
  • Parametreler:
  • - dateString (String): Tarih string'i
  • Açıklama: String'in geçerli bir tarih olup olmadığını kontrol eder

Örnek Kullanım:

Sub Makro1()
    Dim TarihStr
    TarihStr = "2024/01/15"
    
    If Doc.IsStrDate(TarihStr) Then
        Doc.MsgBox "Geçerli bir tarih"
    Else
        Doc.MsgBox "Geçersiz tarih"
    End If
End Sub

---