IRCALEM.Com Genel Forum, IRC Forumu IF - mIRC Scripting mIRC Scripting Hazır Kodlar Tarih Dönüştürme [ Hicri - Miladi ]
Tarih Dönüştürme [ Hicri - Miladi ]
Aytac
Tarih Dönüştürme [ Hicri - Miladi ]
0
207
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Etiketler
miladi dönüştürme tarih hicri

Bu konuyu görüntüleyen kullanıcı(lar):1 Ziyaretçi
Şuan Offine!
Şuan Offine!
Aytac Administrator
********
Proje Sorumlusu

  • Üyelik tarihi    04.02.2020
  • Konum  78 Karabük
  • Konular336
  • Mesajlar343
  • Beğenileri:16 in 12 posts
  • Beğendiği:7
  • Rep puanı 5

  • Para: 40.2₺

Takvim Dönüştürme

Bilindiği üzere Türkiye 1926 yılından sonra miladi takvimi kullanmaya başlamıştır.
Lakin 1926 yılından önceki dönemlerde Hicri takvim kullanılmaktaydı.
1926 yılından önceki bir tarihi miladi takvime göre hangi yıla denk geldiğini öğrenmemiz için mecburi bazı matematiksel işlemler yapmak zorundayız.
Örneğin;
2010 Miladi yılını Hicri yılına dönüştürmek için;
2010 - 621 = 1389
1389 / 33 = 42.09
Eğerki Bölme işleminde çıkan sonuçta noktadan(Virgülden) sonraki ilk rakam(42.09) 5'e eşit ve 5'ten büyükse noktadan önceki(42.09) kısma +1 İlave ediyoruz. Değilse noktadan önceki kısmı direk alıyoruz. Noktadan sonraki ilk rakam "0" 5'e eşit ve 5'ten büyük olmadığı için direk alıp işleme devam ediyoruz.
1389 + 42 = 1431
Demekki 2010 Miladi Yılı 1431 Hicri Yılına Denk Gelir.
-----
Aynı durumun tersi de söz konusu
Elimizde bir hicri yıl varsa ve hangi miladi yıla eşit gelir bilmiyorsak, mecburi bazı matematiksel işlemler yapacağız.
Örneğin 1431 Hicri Yılı hangi Miladi yıla denk geldiğini öğrenmek istiyorsak;
1431 / 33 = 43.36
Noktadan sonraki ilk rakam ".36" 5'e ve 5'ten büyük olmadığı için noktadan önceki kısmı direk alıyoruz. "43."
1431 - 43 = 1388
1388 + 622 = 2010

Kodun da çalışma mantığı aynen bu şekilde olup işte Bu gibi matematiksel işlemlerle uğraşmayıp Kod ile rahatlıkla öğrenebiliriz

Kullanım:
Kişi kendisi kullanacaksa /Hicri Yıl: Belirtilen yılın Miladi Yıla Denkliğini verir.
Herhangi bir kanalda da;
!Hicri Yıl
.Hicri Yıl
!Miladi Yıl
.Miladi Yıl
şeklinde de sorgulanabilir.
Hicri ve Miladi sözcüklerinin tüm harf kombinasyonlarında da çalışacaktır. Hıcrİ gibi

Ne işe yarar yahu ne gerek vardı diyenler birgün lazım olursa kullanmayıp gidip hesap makinesini eline alıp hesaplasın

*DİPNOT: Kodu yazma nedenim, Bir mezarlığın önünden geçerken birinin
Doğum yılı: 1358
Ölüm yılı: 1999
diye gördüm ve doğum yılının hicri yıl olduğunu hemen farkettim ve böyle bir kod yazmak istedim.

Kod :
Alias Hicri {
  if (33 // $1) {
    if (%HicriBak == on) { set -u5 %Hicriver $calc($calc($1 - $calc($1 / 33)) + 622) }
    elseif (%HicriBak != on) { echo -a $chr(22) $1 Hicri Yılı $calc($calc($1 - $calc($1 / 33)) + 622) Miladi Yılına Denk Gelir | Takvim }
  }
  elseif (33 \\ $1) {
    var %HicriBol $calc($1 / 33)
    var %HicriYuvarla $mid($gettok(%HicriBol,2,46),1,1)
    var %HicriAna $gettok(%HicriBol,1,46)
    if (%HicriYuvarla >= 5) { 
      if (%HicriBak == on) { set -u5 %Hicriver $calc($calc($1 - $calc(%HicriAna + 1)) + 622) }
      elseif (%HicriBak != On) { echo -a $chr(22) $1 Hicri Yılı $calc($calc($1 - $calc(%HicriAna + 1)) + 622) Miladi Yılına Denk Gelir | Takvim }
    }
    else {
      var %HicriBol $calc($1 / 33)
      var %HicriAna $gettok(%HicriBol,1,46)
      var %HicriSon $calc($1 - %HicriAna)
      if (%HicriBak == on) { set -u5 %Hicriver $calc(%HicriSon + 622) }
      elseif (%HicriBak != on) { echo -a $chr(22) $1 Hicri Yılı $calc(%HicriSon + 622) Miladi Yılına Denk Gelir | Takvim }
    }
  }
}
Alias Miladi {
  Var %Bir $1
  var %Cikar $calc(%Bir - 621)
  if (33 \\ %Cikar) {
    var %MiladBol $calc(%Cikar / 33)
    var %MiladYuvarla $mid($gettok(%MiladBol,2,46),1,1)
    var %MiladNokta $gettok(%MiladBol,1,46)
    if (%MiladYuvarla >= 5) {
      if (%MiladiBak == on) { set -u5 %Miladiver $calc($calc(%MiladNokta + 1) + %Cikar) }
      elseif (%MiladiBak != on) { echo -a $chr(22) $1 Miladi Yılı $calc($calc(%MiladNokta + 1) + %Cikar) Hicri Yılına Denk Gelir | Takvim }
    }
    elseif (%MiladYuvarla < 5) {
      if (%MiladiBak == on) { set -u5 %Miladiver $calc(%MiladNokta + %Cikar) }
      elseif (%MiladiBak != on) { echo -a $chr(22) $1 Miladi Yılı $calc(%MiladNokta + %Cikar) Hicri Yılına Denk Gelir. | Takvim }
    }
  }
  if (33 // %Cikar) {
    if (%MiladiBak == on) { set -u5 %Miladiver $calc($calc(%Cikar / 33) + %Cikar) }
    elseif (%MiladiBak != on) { echo -a $chr(22) $1 Miladi Yılı $calc($calc(%Cikar / 33) + %Cikar) Hicri Yılına Denk Gelir. | Takvim }
  }
}
Alias Takvim {
  if (%MiladiBak == on) || (%HicriBak == on) { Set %Echo /msg %TakvimChan | TakvimBilgi }
  else { set %Echo Echo -a | TakvimBilgi }
}
Alias TakvimBilgi {
  %Echo 4HİCRİ TAKVİM BİLGİSİ
  %Echo * Hicri Takvim Hz. Muhammed'in Mekke'den Medine'ye hicretini (622 Yılı) başlangıç kabul eden ve ayın dünya çevresinde dolanımını esas alan bir takvim sistemidir.
  %Echo * Ay Esaslı Takvimdir.
  %Echo -
  %Echo 4MİLADİ TAKVİM BİLGİSİ
  %Echo * Hz. İsa'nın doğum gününü (0 Yılı) tarih başlangıcı olarak alınmıştır.
  %Echo * Dünyanın Güneş Etrafında Dönüşünü Esas Aldığı için Güneş Esaslı Bir Takvimdir.
  %Echo * Julien Takvimi Olarak da Bilinir.
%Echo * Türkiye Bu Takvimi 1926 Yılından İtibaren Kullanmıştır.
  unset %TakvimChan %Echo
}
on *:TEXT:*:#: {
  if $regex($1,/(^[!.]H(i|İ|ı)cr(i|İ|ı)$)/i) && !$2 { msg $chan Lütfen Tarih Belirtin! | halt }
  if $regex($1,/(^[!.]H(i|İ|ı)cr(i|İ|ı)$)/i) && !$regex($2,\d) { msg $chan şşş $nick Sen Hiç Yazıyla Rakam Gördün mü? Tarih Kısmı Rakamdan Oluşmalıdır! }
  elseif $regex($1,/(^[!.]H(i|İ|ı)cr(i|İ|ı)$)/i) && $2 && $regex($2,\d) {
    set %HicriBak on
    set %TakvimChan $Chan
    $hicri($2)
    msg $chan $chr(22) $2 Hicri Yılı %Hicriver Miladı Yılına Denk Gelir. | .Takvim | unset %HicriBak
  }
  if $regex($1,/(^[!.]M(i|İ|ı)lad(i|İ|ı)$)/i) && !$2 { msg $chan Lütfen Tarih Belirtiniz. Kullanımı: !Miladi 2010 }
  elseif $regex($1,/(^[!.]M(i|İ|ı)lad(i|İ|ı)$)/i) && ($2 < 622) { Msg $Chan Hicri Takvim Başlangıcı 622 Senesidir. O Yüzden Verdiğiniz Tarihten Önceki Yıllara Hicri Öncesi Yıllar Denilir ve Tarihi Verilmez! | halt  } 
  elseif $regex($1,/(^[!.]M(i|İ|ı)lad(i|İ|ı)$)/i) && $2 && !$regex($2,\d) { msg $chan şşş $nick Sen Hiç Yazıyla Rakam Gördün mü? Tarih Kısmı Rakamdan Oluşmalıdır! }
  elseif $regex($1,/(^[!.]M(i|İ|ı)lad(i|İ|ı)$)/i) && $2 && $regex($2,\d) {
    set %MiladiBak on
    set %TakvimChan $Chan
    $miladi($2)
    msg $chan $chr(22) $2 Miladi Yılı %Miladiver Hicri Yılına Denk Gelir. | .Takvim | unset %MiladiBak
  }
}
“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş.



Foruma Git: