0Pricing
Lua Academy · Ders

os.time ve os.date

Geçerli zamanı alın.

os.time ve os.date, CoddyKit'te ücretsiz bir Lua Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Lua Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Lua Academy kursu toplamda 4 dersten oluşur.

time Neden Önemlidir

Programların sık sık geçerli time bilgisini bilmesi gerekir. Bir oyun ne zaman puan aldığınızı kaydeder, bir kayıt dosyası her olaya zaman damgası ekler ve bir hatırlatıcı uygulaması bir son tarihe kalan süreyi sayar.

Lua, time araçlarını yerleşik os kitaplığında tutar. En önemli ikisi os.time ve os.date işlevleridir. Bu derste ikisiyle de tanışacaksınız.

os.time Bir Sayı Döndürür

os.time(), bağımsız değişken olmadan çağrıldığında geçerli anı tek bir sayı olarak döndürür.

Bu sayı, geçmişteki sabit bir noktadan, yani başlangıç tarihinden bu yana geçen saniyelerin sayısıdır. Yalnızca bir tamsayı olduğundan saklayabilir, karşılaştırabilir veya üzerinde matematiksel işlemler yapabilirsiniz.

local now = os.time()
print(now)
print(type(now))

Başlangıç Noktası

Çoğu sistemde başlangıç noktası, 1 Ocak 1970 saat 00.00 UTC'dir. Bu nedenle os.time(), o andan beri kaç saniye geçtiğini size bildirir.

1700000000 gibi büyük bir sayı normaldir. Her saniye bir arttığı için iki anı karşılaştırmak için idealdir.

local seconds = os.time()
print("Seconds since 1970:", seconds)

os.date Metin Döndürür

Ham saniye sayısını okumak zordur. os.date(), time bilgisini insanların kolay okuyabileceği bir metne dönüştürür.

Bağımsız değişken olmadan çağrıldığında, sisteminizin yerel ayarlarını kullanarak geçerli date ve time bilgisini açıklayan okunabilir bir dize döndürür.

print(os.date())

Biçimle os.date

Genellikle os.date işlevine bir biçim dizesi aktarırsınız. % ile başlayan özel kodlar, date parçalarıyla değiştirilir.

%Y dört basamaklı yılı, %m ayı ve %d günü belirtir. Diğer metinler olduğu gibi kalır.

print(os.date("Year: %Y"))
print(os.date("%Y-%m-%d"))

time ve date Birleştirme

os.date ikinci bir bağımsız değişken alabilir: Bir time sayısı. os.time sonucunu ona aktararak tam olarak o anı biçimlendirebilirsiniz.

İkinci bağımsız değişken olmadan geçerli time kullanılır; bu nedenle bu iki çağrı aynı anı açıklar.

local t = os.time()
print(os.date("%Y-%m-%d", t))

Yerel ve UTC

Varsayılan olarak os.date yerel time diliminizi kullanır. Bunun yerine UTC almak için biçim dizesini ünlem işareti ! ile başlatın.

Bu, herkesin aynı saati temel alması gereken sunucular ve dünyanın farklı yerlerinde kullanılan uygulamalar için önemlidir.

print("Local:", os.date("%H:%M"))
print("UTC:  ", os.date("!%H:%M"))

Tablo Biçimi

Biçim olarak "*t" aktarırsanız os.date, dize yerine bir tablo döndürür.

Tabloda year, month, day, hour, min ve sec gibi adlandırılmış alanlar bulunur. Yalnızca tek bir parçaya ihtiyaç duyduğunuzda bu biçim kullanışlıdır.

local d = os.date("*t")
print(d.year, d.month, d.day)
print(d.hour, d.min, d.sec)

Tek Alanı Okuma

Tablo biçimi adlandırılmış alanlar sağladığından yalnızca geçerli ayı veya yalnızca geçerli saati almak kolaydır.

Tablonun UTC biçimi için !*t kullanın. Her alan, koşullarda kullanabileceğiniz sıradan bir sayıdır.

local d = os.date("*t")
if d.hour < 12 then
  print("Good morning")
else
  print("Good afternoon")
end

Tablodan os.time

os.time ters yönde de çalışır. İçinde year, month ve day bulunan bir tablo verin; bu işlev size o date için saniye sayısını döndürür.

Bu sayede seçtiğiniz belirli bir takvim date için bir time değeri oluşturabilirsiniz.

local t = os.time({year=2020, month=1, day=1, hour=0})
print(t)
print(os.date("%Y-%m-%d", t))

Çift Yönlü Dönüşüm

İki biçim arasında özgürce geçiş yapabilirsiniz: os.time bir tabloyu sayıya, os.date("*t", n) ise bir sayıyı yeniden tabloya dönüştürür.

Bu çift yönlü dönüşüm, ilerleyen derslerde inceleyeceğiniz date hesaplamalarının temelini oluşturur.

local n = os.time({year=2021, month=6, day=15})
local back = os.date("*t", n)
print(back.year, back.month, back.day)

Kısa Kontrol

İki temel işlevi ne kadar anladığınızı sınayın.

Özet

os.time(), geçerli anı başlangıç noktasından bu yana geçen saniyelerin sayısı olarak verir. os.date() ise % biçim kodlarını kullanarak time bilgisini metne veya "*t" ile bir tabloya dönüştürür.

UTC için ! ekleyin; belirli bir anı biçimlendirmek için ikinci bağımsız değişken olarak bir time sayısı aktarın. Bu ikisi birlikte Lua'daki neredeyse tüm date ihtiyaçlarını karşılar.

Sıkça Sorulan Sorular

“os.time ve os.date” dersi ücretsiz mi?

Evet — “os.time ve os.date” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Lua Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Lua Academy kursu toplamda 4 dersten oluşur.

“os.time ve os.date” dersinde ne öğreneceğim?

Geçerli zamanı alın. Lua Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Lua Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Lua Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“os.time ve os.date” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Lua Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Lua Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. os.time ve os.date
  2. Tarihleri Biçimlendirme
  3. Zaman Aritmetiği
  4. Süreleri Ölçme
← Lua Academy Sayfasına Dön