31 Ocak 2017 Salı

21. Yüzyıl Dışındaki Tarihlerle İşlem Yapmak


Giriş


Takvimleri kullanarak günleri hesaplamak karışık gibi görünür ama çok basittir. Bu yazıda temel takvim sistemlerini ve hesaplama yöntemlerini gözden geçireceğiz.

Takvim sistemleri Güneş'in veya Ay'ın hareketlerine göre kurgulanır ve tanımlanmaları için bir de başlangıç gereklidir. Biz Dünya'nın kendi çevresinde dönmesinin günleri, Güneş'in çevresinde dönmesinin yılları belirlediği miladi takvimi kullanıyoruz. Bu sistemin kökeni Jülyen takvim sistemidir. Daha sonra yapılan değişikliklerle Gregoryen takvim adını almıştır. Yıllar, mevsimlere ve aylara; günler, saat, dakika ve saniyelere bölünerek algılama kolaylığı sağlanmış, araya da haftalar eklenmiştir.

Jülyen Takvimi


Milattan önce birinci yüzyılda kullanılmaya başlanmış. Önce Dünya'nın güneş çevresinde dönmesinin tam 365 gün olmadığı farkedilmiş. Zamanın teknolojisiyle 365 gün, 6 saat olarak ölçmüşler. Artan saatleri toplayarak 4'e bölünen yılların sonuna bir gün eklemişler. O yıla da "artık yıl" demişler. Bu işler Jül Sezar döneminde başlatıldığı için adına Jülyen Takvimi denmiş (Not 1, Jülyen Takvimi). "İyi de artık yıl gününün eklendiği Şubat ayı yılın sonunda değil" dediğinizi duyar gibi oluyorum. Başlangıçta Jülyen takvimi yılları diğer Güneş takvimleri gibi bahar gün dönümü olan Mart ayında başlarmış. Daha sonra başlangıcı Ocak ayına alınınca Şubat ayı arada kalmış.

Yine diğer Güneş takvim sistemleri gibi aylar da 31, 30, 31, 30, ... diziliminde başlamış. Ama sonra bu da bozulmuş. İmparator Avgustus, "Jül Sezar'ın adıyla bir ay var (Temmuz, İngilizcesi July), benim adımla anılan bir ay niye olmasın" demiş, sonraki aya kendi adını vermiş. Üstelik "Benim adımla anılacak ay kısa bir ay olmamalı, Jül Sezar'ın adıyla anılan ay gibi 31 gün olmalıdır" diyerek Şubat ayından bir gün almış Ağustos ayına eklemiş. Şubat ayı iyice kısalmış.

Gregoryen Takvim


Jülyen takvimi 16. Yüzyıla kadar kullanılmış. Astronomik ölçüm teknikleri geliştikçe, Dünya'nın Güneş çevresinde dönmesini tam 365 gün 6 saat (365,25 gün) değil, 365 gün 5 saat 49 dakika 12 saniyede (365,2425 gün) tamamladığını farkedilmiş. Buna göre yeni bir düzenleme yapılmış. 400'e bölünen yıllar artık yıl olarak korunmakla birlikte, 100'e bölünen yıllar artık yıl olmaktan çıkarılmış. Uygulamaya 5 Ekim 1582 Cuma günü tarihine 10 gün ekleyerek 15 Ekim olarak devam edilmiş. Düzenleme Papa 13. Gregor tarafından yapıldığı için bu adla anılmaya başlanmış (Not 2, Miladi Takvim). Böylece 128 yılda bir oluşan bir günlük kayma düzeltiliyor, hata payı yılda 10.8 saniyeye düşürülmüş oluyor. Aslında bu sapmadan saatler de etkileniyor. Saatlerin hesaplanmasını başka bir yazıda ele alacağız.

Tarih Hesaplama Yöntemleri


Bilgisayarların olmadığı dönemlerde takvim hesaplama işlerinde "sürekli takvim" (Perpetual calendar) adıyla çeşitli mekanizmalar kullanıldı. Bunlardan 50 yıllık bir dönemi kapsayan, denizcilikte kullanılan iç içe metal disklerden oluşan bir anahtarlık tasarımını Beşiktaş'taki Deniz Müzesinde görmüştüm (Not 3, Sürekli Takvim).

Artık yazılım sistemlerini kullanarak tarih hesaplamalarını kolaylıkla yapabiliyoruz. Bu sistemlerde tarih hesaplamaları belli günlerde başlar. Örnek olarak Gregoryen takvimin başladığı 15 Ekim 1582, Yirminci yüzyılın başladığı 1 Ocak 1900, Unix işletim sisteminin kullanıldığı 1 Ocak 1970, Kişisel bilgisayarların kullanılmaya başlandığı 1 Ocak 1980. Peki bu sistemleri kullanarak başlangıç tarihinden önceki tarihleri ifade edemez miyiz? Tabii ki ederiz. Tarihler sıralı günler olarak tanımlanırlar. Tamsayılar ekleyerek sonraki günleri bulabildiğimiz gibi, tamsayılar çıkararak önceki günleri bulabiliriz. Gün, ay, yıl olarak formatlamak için bir programlama sistemi desteğine gereksinim vardır ve hesap tablosu ofis programları bu işleri bizim için sorunsuz olarak yaparlar. Son olarak örnekleri gün, ay, yıl (GG/AA/YYYY) biçiminde yaptığımı belirteyim.

Örneklerimizi özgür ofis yazılımı LibreOffice hesap tablolarıyla yaptım (Not 4, LibreOffice). Negatif tarihlerle işlem yapabileceğiniz başka bir hesap tablosu programı veya programlama sistemi kullanabilirsiniz.

Örneklere başlarken varsayımlarımıza göre hesap yapacağımız bazı tamsayıları belirleyelim. Bir yılda 365 gün var. 4 yıl için (365 *4) + 1 = 1461 bizim için önemli. 100 yıldaki gün sayısı (1461 * 25) - 1 = 36524 sayısını buluyoruz. Çıkardığımız 1, 100'e bölünen yılların artık yıl olarak kabul edilmemesinden dolayı. 400 yıldaki gün sayısı (36524 * 4) + 1 = 146097 sayısıdır. Eklediğimiz 1, 400'e bölünen yılların artık yıl olmasındandır.
ilk örneğimizi 1 Ocak 1970 yılında başladığını varsayacağımız bir takvim sistemi için yapalım. Boş bir hesap tablosu açınız. Bir sütunu gün, ay, yıl biçiminde formatlayınız. Üstteki hücreye başlangıç tarihimiz olan 01/01/1970 yazınız. Bu hücre A3 ise bir alttaki hücreye =A3+1 yazınız. Bu hücreyi kopyalayarak aşağıya doğru yapıştırınız. Sütunda aşağı doğru birer artarak giden tarihleri görürsünüz.

Geriye doğru giden günleri de aynı kolaylıkta belirleyebilirsiniz. Burada da tamsayıları çıkararak örneği gerçekleştirebilirsiniz. Böylece tarihlere gün ekleyerek veya çıkararak farklı tarihleri elde edebildiğinizi gördünüz. Bu kadar bilgi ile bile çok yararlı ve eğlenceli tarih hesaplamaları yapabilirsiniz ama örnekleri bir adım daha ileri taşıyalım.

Diğer örneğimizi 1 Ocak 1900 yılında başladığını varsaydığımız bir takvim sistemi için yapalım. Bu kez yılların ilk günlerini görecek bir tablo hazırlayalım. Yine ilk hücreye başlangıç tarihimizi yazınız. Diğer hücrelere de 365 gün sonrasını ifade edecek toplama işlemini yazınız ve kopyalayarak çoğaltınız. 1 Ocak 1905 tarihini görmeyi umduğunuz hücrede bir gün önceki tarihi göreceksiniz. Hemen hatırladınız! 1904 yılı artık yıl olduğu için 366 gün çekiyor. Gerekli düzeltmeyi yaptıktan sonra doğru tarihi elde ettiniz!

365 ve 366 günleri yerine 36524 ve 36525 günlerini kullanarak sonraki ve önceki yüzyıllardaki tarihleri, biraz deneyim kazandıktan sonra diğer sayıları da kullanarak daha karmaşık tarihleri de hesaplayabilirsiniz. Sistematiği öğrendikten sonra sürekli toplamalar veya çıkarmalar yapmak yerine çarpma veya bölme işlemleri yaparak ilerleyebilirsiniz.

Biraz pratik yaptıktan sonra uğraşmanızı önererek son bir örnek vereyim. Tahmini olarak ne zaman emekli olacağınızı hesaplamaya ne dersiniz? Emekli olmak için belli bir iş günü çalışmanız gerekir. Önce bir yıldaki tahmini iş günü sayısını bulun. 7 gün olan 1 haftada 5 gün çalıştığınıza göre, orantı kurarak bir yıldaki tahmini iş günü sayısını bulabilirsiniz. Bu sayıdan yıllık izninizi ve diğer bayram tatillerini çıkarın. Tahmini kaç yılda emekli olacağınızı bulun. Bu sayıyı işe başlama tarihinize eklerseniz tahmini emeklilik tarihinizi bulursunuz. Tahmini emeklilik tarihinizden doğum tarihinizi çıkarırsanız tahmini emeklilik yaşınızı bulursunuz. İyisi mi bir an önce çalışmaya başlayın.

Hiç yorum yok:

Yorum Gönder