⏰ time - Zaman ve Tarih

DateTime, Duration, Formatting, Timezone

58
Fonksiyon
731
Satır
23 KB
Boyut

🚀 Hızlı Başlangıç

içe_aktar time

// Şu an
değişken şimdi = time.şimdi()
yazdır(şimdi.yazıya())  // "2025-01-15 14:30:45"

// Unix timestamp
değişken timestamp = time.unix()
yazdır(timestamp.yazıya())  // 1705328445

// Formatting
değişken formatted = time.format(şimdi, "%Y-%m-%d %H:%M:%S")
yazdır(formatted)  // "2025-01-15 14:30:45"

// Parsing
değişken tarih = time.parse("2025-01-15", "%Y-%m-%d")

// Duration
değişken başlangıç = time.şimdi()
// ... işlemler ...
değişken bitiş = time.şimdi()
değişken süre = time.duration(başlangıç, bitiş)
yazdır("Geçen süre: " + süre.saniye().yazıya() + "s")

// Sleep
time.sleep(1000)  // 1000ms = 1 saniye

📚 Özellikler

💡 Örnekler

Benchmark Timer

içe_aktar time

sınıf Stopwatch yap
    değişken başlangıç: DateTime
    değişken tur_zamanları: Dizi
    
    fonksiyon başlat() yap
        self.başlangıç = time.şimdi()
        self.tur_zamanları = []
    son
    
    fonksiyon tur() yap
        self.tur_zamanları.ekle(time.şimdi())
    son
    
    fonksiyon durdur() -> Duration yap
        dön time.duration(self.başlangıç, time.şimdi())
    son
    
    fonksiyon tur_süresi(index: tamsayı) -> Duration yap
        eğer index == 0 ise yap
            dön time.duration(self.başlangıç, self.tur_zamanları[0])
        son değilse yap
            dön time.duration(self.tur_zamanları[index-1], self.tur_zamanları[index])
        son
    son
son

değişken sw = Stopwatch.yeni()
sw.başlat()

// Test 1
her i içinde aralık(0, 1000000) için yap
    değişken x = i * i
son
sw.tur()

// Test 2
her i içinde aralık(0, 500000) için yap
    değişken x = math.sqrt(i.kesir())
son
sw.tur()

yazdır("Tur 1: " + sw.tur_süresi(0).milisaniye().yazıya() + "ms")
yazdır("Tur 2: " + sw.tur_süresi(1).milisaniye().yazıya() + "ms")
yazdır("Toplam: " + sw.durdur().milisaniye().yazıya() + "ms")

Task Scheduler

içe_aktar time, thread

sınıf ScheduledTask yap
    değişken fonksiyon: Fonksiyon
    değişken çalışma_zamanı: DateTime
    
    fonksiyon yeni(f: Fonksiyon, çalışma_zamanı: DateTime) yap
        self.fonksiyon = f
        self.çalışma_zamanı = çalışma_zamanı
    son
son

sınıf Scheduler yap
    değişken görevler: Dizi
    
    fonksiyon yeni() yap
        self.görevler = []
    son
    
    fonksiyon zamanla(f: Fonksiyon, gecikme_ms: tamsayı) yap
        değişken çalışma_zamanı = time.add_ms(time.şimdi(), gecikme_ms)
        self.görevler.ekle(ScheduledTask.yeni(f, çalışma_zamanı))
    son
    
    fonksiyon çalıştır() yap
        döngü yap
            değişken şimdi = time.şimdi()
            değişken çalıştırılan = 0
            
            her görev içinde self.görevler için yap
                eğer time.before(görev.çalışma_zamanı, şimdi) ise yap
                    görev.fonksiyon()
                    çalıştırılan = çalıştırılan + 1
                son
            son
            
            // Çalıştırılan görevleri kaldır
            self.görevler = self.görevler.filtrele(fonksiyon(g) yap
                dön time.after(g.çalışma_zamanı, şimdi)
            son)
            
            eğer self.görevler.uzunluk() == 0 ise yap
                kır
            son
            
            time.sleep(100)  // 100ms check interval
        son
    son
son

değişken scheduler = Scheduler.yeni()

scheduler.zamanla(fonksiyon() yap
    yazdır("Görev 1 çalıştı: " + time.şimdi().yazıya())
son, 1000)

scheduler.zamanla(fonksiyon() yap
    yazdır("Görev 2 çalıştı: " + time.şimdi().yazıya())
son, 2000)

scheduler.çalıştır()

← Tüm Modüller