{
  "ad": "ZamanDamgası",
  "surum": "1.1.0",
  "jsonSchema": {
    "surum": "JSON Schema Draft 2020-12",
    "dosya": "./zaman-damgasi.schema.json",
    "kok": "donustur() sonucunun basari|hata|belirsiz ayrık birleşimi"
  },
  "aciklama": "Unix epoch saniye, milisaniye, mikrosaniye ve nanosaniye ile ISO-8601 veya ofsetsiz insan tarihini; seçilen IANA zaman diliminin o andaki kurallarını kullanarak iki yönde dönüştüren deterministik motor.",
  "motor": {
    "kaynak": "./index.html içindeki MOTOR-BAS ve MOTOR-SON işaretleri arası ES modülü",
    "anaFonksiyon": "donustur",
    "cagriBicimi": "donustur({ girdi, girdiTipi, zamanDilimi, kaynakDilimi })",
    "fonksiyonlar": [
      {
        "ad": "donustur",
        "cagri": "donustur({ girdi, girdiTipi, zamanDilimi, kaynakDilimi })",
        "cikti": "cikti.basari, cikti.hata veya cikti.belirsizlik"
      },
      {
        "ad": "topluDonustur",
        "cagri": "topluDonustur({ toplu, girdiTipi, zamanDilimi, kaynakDilimi })",
        "cikti": "yardimciCiktilar.topluDonustur veya cikti.hata"
      },
      {
        "ad": "epochFarki",
        "cagri": "epochFarki({ ilk, ikinci, girdiTipi })",
        "cikti": "yardimciCiktilar.epochFarki veya cikti.hata"
      },
      {
        "ad": "epochAritmetik",
        "cagri": "epochAritmetik({ girdi, girdiTipi, islem, sure, zamanDilimi })",
        "cikti": "cikti.basari veya cikti.hata; otomatik 11 hane acik-birim-gerekli hatasıdır"
      },
      {
        "ad": "tipSez",
        "cagri": "tipSez(girdi)",
        "cikti": "yardimciCiktilar.tipSez veya null"
      }
    ],
    "yanEtki": "Yok; motor Date.now çağırmaz, ağ veya DOM kullanmaz.",
    "jsonGuvenli": true
  },
  "girdiler": [
    {
      "ad": "girdi",
      "tip": "string",
      "birim": "epoch tamsayısı veya YYYY-MM-DD ya da YYYY-MM-DDTHH:mm[:ss[.1..9]][Z|±HH:MM[:SS]] ya da YYYY-MM-DD HH:mm[:ss[.1..9]]",
      "zorunlu": true,
      "varsayilan": null,
      "ornek": "1700000000",
      "fonksiyonlar": [
        "donustur",
        "epochAritmetik"
      ]
    },
    {
      "ad": "girdiTipi",
      "tip": "enum: otomatik|saniye|milisaniye|mikrosaniye|nanosaniye|iso|insan",
      "birim": "yok",
      "zorunlu": false,
      "varsayilan": "otomatik",
      "ornek": "otomatik",
      "fonksiyonlar": [
        "donustur",
        "topluDonustur",
        "epochFarki",
        "epochAritmetik"
      ]
    },
    {
      "ad": "zamanDilimi",
      "tip": "string",
      "birim": "IANA zaman dilimi",
      "zorunlu": false,
      "varsayilan": "Europe/Istanbul",
      "ornek": "Europe/Istanbul",
      "fonksiyonlar": [
        "donustur",
        "topluDonustur",
        "epochAritmetik"
      ]
    },
    {
      "ad": "kaynakDilimi",
      "tip": "string",
      "birim": "IANA zaman dilimi veya UTC",
      "zorunlu": false,
      "varsayilan": "UTC",
      "ornek": "UTC",
      "fonksiyonlar": [
        "donustur",
        "topluDonustur"
      ]
    },
    {
      "ad": "toplu",
      "tip": "string[]",
      "birim": "her eleman bağımsız bir girdi",
      "zorunlu": true,
      "varsayilan": null,
      "ornek": [
        "0",
        "1700000000",
        "2026-07-26T00:00:00Z"
      ],
      "fonksiyonlar": [
        "topluDonustur"
      ],
      "not": "Yalnız topluDonustur için zorunludur; boş dizi geçerlidir ve boş dizi döner."
    }
  ],
  "cikti": {
    "basari": {
      "tip": "object",
      "alanlar": {
        "durum": "literal: basari",
        "epoch": {
          "tip": "object",
          "alanlar": {
            "saniye": "number|string; tam sayı güvenliyse number, kesirli veya güvensizse tam ondalık string",
            "milisaniye": "number|string; tam sayı güvenliyse number, kesirli veya güvensizse tam ondalık string",
            "mikrosaniye": "number|string; tam sayı güvenliyse number, kesirli veya güvensizse tam ondalık string",
            "nanosaniye": "number|string; Number güvenli tamsayı sınırı aşılırsa string"
          }
        },
        "utc": {
          "tip": "object",
          "alanlar": {
            "iso8601": "string|null; yalnız 0000–9999 yılında dört haneli ISO-8601, aksi halde null",
            "rfc3339": "string|null; yalnız 0000–9999 yılında RFC 3339, aksi halde null",
            "imfFixdate": "string|null; yalnız 1900–9999 yılında IMF-fixdate, aksi halde null",
            "genisletilmisGosterim": "string|null; dört haneli yıl dışında ECMAScript genişletilmiş gösterimi, standart iddiası taşımaz",
            "standartUygunlugu": {
              "tip": "object",
              "alanlar": {
                "iso8601": "uygunlukDurumu",
                "rfc3339": "uygunlukDurumu",
                "imfFixdate": "uygunlukDurumu"
              }
            },
            "tarih": "string; YYYY-MM-DD",
            "saat": "string; HH:mm:ss"
          }
        },
        "yerel": {
          "tip": "object",
          "alanlar": {
            "zamanDilimi": "string; istenen IANA adı",
            "ofsetDakika": "number; o andaki UTC ofseti, tarihsel saniyeli ofsette kesirli olabilir",
            "ofsetMetin": "string; ±HH:MM veya tarihsel gerekirse ±HH:MM:SS",
            "iso8601": "string|null; dört haneli yıl içindeki ofsetli yerel tarih-saat",
            "genisletilmisGosterim": "string|null; dört haneli yıl dışında standart adı taşımayan yerel gösterim",
            "standartUygunlugu": "object; iso8601 uygunlukDurumu",
            "insan": "string; Türkçe ay ve hafta günüyle yerel gösterim"
          }
        },
        "takvim": {
          "tip": "object; UTC takvim tarihine göre",
          "alanlar": {
            "haftaninGunu": "string; Türkçe",
            "haftaninGunuIso": "integer; Pazartesi=1 ... Pazar=7",
            "yilinGunu": "integer; 1 Ocak=1",
            "isoHafta": {
              "tip": "object",
              "alanlar": {
                "yil": "integer; ISO hafta yılı",
                "hafta": "integer; 1..53",
                "gun": "integer; 1..7",
                "gosterim": "string; YYYY-Www-d"
              }
            },
            "ayinAdi": "string; Türkçe",
            "ceyrek": "integer; 1..4",
            "artikYilMi": "boolean"
          }
        },
        "diger": {
          "tip": "object",
          "alanlar": {
            "excelSeri": "number|null; Excel 1900 seri günü, 1900-01-01 öncesinde null",
            "excelDurumu": "object; durum uygun|desteklenmiyor, destekleniyor boolean, kod ve aciklama",
            "sqlDatetime": "string; UTC YYYY-MM-DD HH:mm:ss",
            "jsSnippet": "string",
            "pythonSnippet": "string"
          }
        },
        "uyarilar": "string[]; negatif epoch sonuçları 'negatif epoch' ve 'POSIX XBD §4.19' içeren kararlı bir kapsam uyarısı taşır (bkz. negatifEpochPolitikasi)",
        "sezilenTip": "enum: saniye|milisaniye|mikrosaniye|nanosaniye|iso|insan"
      }
    },
    "hata": {
      "tip": "object",
      "alanlar": {
        "durum": "literal: hata",
        "hata": "enum: cozumlenemedi|gecersiz-zaman-dilimi|aralik-disi|acik-birim-gerekli"
      },
      "not": "Hata nesnesinde başka alan bulunmaz."
    },
    "belirsizlik": {
      "tip": "object",
      "neZaman": "girdiTipi otomatik ve işaretsiz basamak sayısı 11 olduğunda",
      "alanlar": {
        "durum": "literal: belirsiz",
        "kod": "literal: birim-belirsiz",
        "girdi": "string; özgün temizlenmiş 11 haneli değer",
        "basamak": "literal integer: 11",
        "tasarimSezgisi": "string; [TASARIM-SEZGİSİ] etiketiyle başlar",
        "adaylar": "tam iki öğe; { birim: saniye, sonuc: cikti.basari } ve { birim: milisaniye, sonuc: cikti.basari }",
        "gerekenEylem": "string; açık birim seçme talimatı"
      },
      "not": "Bu dal kesin epoch/utc/yerel alanı yayımlamaz. Çağıran adaylardan birini kendiliğinden başarı sayamaz."
    }
  },
  "ortakTipler": {
    "uygunlukDurumu": {
      "tip": "object",
      "alanlar": {
        "durum": "enum: uygun|uygun-degil",
        "uygun": "boolean",
        "yilAraligi": "string",
        "kod": "string; uygun veya makine-okunur uygunsuzluk kodu"
      }
    }
  },
  "yardimciGirdiler": {
    "epochFarki": {
      "ilk": "string; ilk epoch",
      "ikinci": "string; ikinci epoch",
      "girdiTipi": "otomatik veya sayısal epoch birimi; varsayılan otomatik"
    },
    "epochAritmetik": {
      "girdi": "string; başlangıç epoch",
      "girdiTipi": "otomatik veya sayısal epoch birimi",
      "islem": "ekle|cikar; varsayılan ekle",
      "sure": {
        "gun": "negatif olmayan güvenli integer number veya daha büyük değer için rakamlardan oluşan string",
        "saat": "negatif olmayan güvenli integer number veya daha büyük değer için rakamlardan oluşan string",
        "dakika": "negatif olmayan güvenli integer number veya daha büyük değer için rakamlardan oluşan string",
        "saniye": "negatif olmayan güvenli integer number veya daha büyük değer için rakamlardan oluşan string",
        "nanosaniye": "negatif olmayan güvenli integer number veya daha büyük değer için rakamlardan oluşan string"
      },
      "zamanDilimi": "IANA veya UTC; varsayılan Europe/Istanbul"
    }
  },
  "yardimciCiktilar": {
    "topluDonustur": {
      "tip": "array",
      "oge": {
        "sira": "integer; 1 tabanlı",
        "girdi": "string",
        "sonuc": "cikti.basari, cikti.hata veya cikti.belirsizlik"
      },
      "not": "Sıra korunur. toplu string[] değilse tek cikti.hata nesnesi döner."
    },
    "epochFarki": {
      "tip": "object",
      "alanlar": {
        "durum": "literal: basari",
        "isaret": "integer; -1|0|1",
        "toplamSaniye": "number|string",
        "toplamNanosaniye": "number|string",
        "gun": "number|string",
        "saat": "integer 0..23",
        "dakika": "integer 0..59",
        "saniye": "integer 0..59",
        "nanosaniye": "integer 0..999999999"
      }
    },
    "tipSez": {
      "tip": "object|null",
      "alanlar": {
        "tip": "sayısal epoch birimi|null; 11 hanede null",
        "basamak": "integer",
        "belirsiz": "boolean",
        "alternatifler": "string[]",
        "aciklama": "string"
      }
    }
  },
  "sezmeKurali": {
    "sinif": "[TASARIM-SEZGİSİ]",
    "normatifStandartMi": false,
    "uyari": "[TASARIM-SEZGİSİ] 1–10/11/12–14/15–17/18+ basamak eşikleri bir standart değil ürün politikasıdır.",
    "sayisalDesen": "^-?\\d+$",
    "isaretBasamakSayisinaDahilMi": false,
    "basamakEslemeleri": [
      {
        "basamak": "1-10",
        "birim": "saniye"
      },
      {
        "basamak": "11",
        "birim": "belirsiz: saniye|milisaniye"
      },
      {
        "basamak": "12-14",
        "birim": "milisaniye"
      },
      {
        "basamak": "15-17",
        "birim": "mikrosaniye"
      },
      {
        "basamak": "18+",
        "birim": "nanosaniye"
      }
    ],
    "onBirHane": {
      "birincil": null,
      "belirsiz": true,
      "arayuz": "ortak motorun saniye ve milisaniye başarı adaylarını yan yana sunar",
      "agentKurali": "Açık birim seçilmeden kesin başarı kabul edilemez."
    },
    "aciklamaBicimi": "[TASARIM-SEZGİSİ] <basamak> haneli → <birim> olarak yorumlandı"
  },
  "negatifEpochPolitikasi": {
    "kapsam": "ürün uzantısı",
    "normatifMi": false,
    "dayanak": "The Open Group Base Specifications Issue 8 / IEEE Std 1003.1-2024, XBD §4.19 Seconds Since the Epoch",
    "url": "https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap04.html",
    "standartMetin": "If the year is <1970 or the value is negative, the relationship is undefined.",
    "kural": "POSIX XBD §4.19, epoch saniyesi negatif olduğunda (veya yıl 1970'ten küçük olduğunda) takvim adı–epoch saniyesi ilişkisini tanımsız bırakır. Standart, takvim↔saniye formülünü yalnız yıl >=1970 ve değer negatif olmadığında tanımlar.",
    "urunDavranisi": "Motor negatif değerleri geçerli kabul eder ve ECMAScript Date'in proleptik Gregoryen eşlemesiyle bir tarih üretir. Bu eşleme taşınabilir POSIX standardı sonucu değil, bilinçli bir ürün uzantısıdır.",
    "uyariSozlesmesi": "toplamNs < 0 olan tüm başarı (ve belirsiz aday) sonuçları, uyarilar dizisinde 'negatif epoch' ve 'POSIX XBD §4.19' içeren kararlı bir kapsam uyarısı taşır."
  },
  "formul": {
    "isoHafta": "isoGun=Pzt:1..Paz:7; persembe=tarih+(4-isoGun); isoYil=persembenin yili; hafta=floor((persembe-isoYilOcak1)/7gun)+1",
    "excelSeri": "an<1900-01-01: null; 1900-01-01<=an<1900-03-01: epochSaniye/86400+25569-1; an>=1900-03-01: epochSaniye/86400+25569; hayalî seri 60 gerçek tarihe karşılık gelmez",
    "yilinGunu": "floor((UTC_tarih-UTC_yil_ocak_1)/86400000)+1",
    "artikYil": "yil%4==0 && (yil%100!=0 || yil%400==0)"
  },
  "ornekCagri": [
    {
      "senaryo": "Otomatik saniye sezme ve İstanbul gösterimi",
      "girdi": {
        "girdi": "1700000000",
        "girdiTipi": "otomatik",
        "zamanDilimi": "Europe/Istanbul",
        "kaynakDilimi": "UTC"
      },
      "cikti": {
        "durum": "basari",
        "epoch": {
          "saniye": 1700000000,
          "milisaniye": 1700000000000,
          "mikrosaniye": 1700000000000000,
          "nanosaniye": "1700000000000000000"
        },
        "utc": {
          "iso8601": "2023-11-14T22:13:20.000Z",
          "rfc3339": "2023-11-14T22:13:20+00:00",
          "imfFixdate": "Tue, 14 Nov 2023 22:13:20 GMT",
          "genisletilmisGosterim": null,
          "standartUygunlugu": {
            "iso8601": {
              "durum": "uygun",
              "uygun": true,
              "yilAraligi": "0000-9999",
              "kod": "uygun"
            },
            "rfc3339": {
              "durum": "uygun",
              "uygun": true,
              "yilAraligi": "0000-9999",
              "kod": "uygun"
            },
            "imfFixdate": {
              "durum": "uygun",
              "uygun": true,
              "yilAraligi": "1900-9999",
              "kod": "uygun"
            }
          },
          "tarih": "2023-11-14",
          "saat": "22:13:20"
        },
        "yerel": {
          "zamanDilimi": "Europe/Istanbul",
          "ofsetDakika": 180,
          "ofsetMetin": "+03:00",
          "iso8601": "2023-11-15T01:13:20+03:00",
          "genisletilmisGosterim": null,
          "standartUygunlugu": {
            "iso8601": {
              "durum": "uygun",
              "uygun": true,
              "yilAraligi": "0000-9999",
              "kod": "uygun"
            }
          },
          "insan": "15 Kasım 2023 Çarşamba 01:13"
        },
        "takvim": {
          "haftaninGunu": "Salı",
          "haftaninGunuIso": 2,
          "yilinGunu": 318,
          "isoHafta": {
            "yil": 2023,
            "hafta": 46,
            "gun": 2,
            "gosterim": "2023-W46-2"
          },
          "ayinAdi": "Kasım",
          "ceyrek": 4,
          "artikYilMi": false
        },
        "diger": {
          "excelSeri": 45244.92592592593,
          "excelDurumu": {
            "durum": "uygun",
            "destekleniyor": true,
            "kod": "excel-1900-modern-esleme",
            "aciklama": "1900-03-01 ve sonrasında modern +25569 eşlemesi kullanıldı"
          },
          "sqlDatetime": "2023-11-14 22:13:20",
          "jsSnippet": "new Date(1700000000000)",
          "pythonSnippet": "datetime.fromtimestamp(1700000000, tz=timezone.utc)"
        },
        "uyarilar": [],
        "sezilenTip": "saniye"
      }
    },
    {
      "senaryo": "Nanosaniye hassasiyetini kaybetmeden UTC gösterimi",
      "girdi": {
        "girdi": "1700000000000000001",
        "girdiTipi": "nanosaniye",
        "zamanDilimi": "UTC",
        "kaynakDilimi": "UTC"
      },
      "cikti": {
        "durum": "basari",
        "epoch": {
          "saniye": "1700000000.000000001",
          "milisaniye": "1700000000000.000001",
          "mikrosaniye": "1700000000000000.001",
          "nanosaniye": "1700000000000000001"
        },
        "utc": {
          "iso8601": "2023-11-14T22:13:20.000Z",
          "rfc3339": "2023-11-14T22:13:20+00:00",
          "imfFixdate": "Tue, 14 Nov 2023 22:13:20 GMT",
          "genisletilmisGosterim": null,
          "standartUygunlugu": {
            "iso8601": {
              "durum": "uygun",
              "uygun": true,
              "yilAraligi": "0000-9999",
              "kod": "uygun"
            },
            "rfc3339": {
              "durum": "uygun",
              "uygun": true,
              "yilAraligi": "0000-9999",
              "kod": "uygun"
            },
            "imfFixdate": {
              "durum": "uygun",
              "uygun": true,
              "yilAraligi": "1900-9999",
              "kod": "uygun"
            }
          },
          "tarih": "2023-11-14",
          "saat": "22:13:20"
        },
        "yerel": {
          "zamanDilimi": "UTC",
          "ofsetDakika": 0,
          "ofsetMetin": "+00:00",
          "iso8601": "2023-11-14T22:13:20+00:00",
          "genisletilmisGosterim": null,
          "standartUygunlugu": {
            "iso8601": {
              "durum": "uygun",
              "uygun": true,
              "yilAraligi": "0000-9999",
              "kod": "uygun"
            }
          },
          "insan": "14 Kasım 2023 Salı 22:13"
        },
        "takvim": {
          "haftaninGunu": "Salı",
          "haftaninGunuIso": 2,
          "yilinGunu": 318,
          "isoHafta": {
            "yil": 2023,
            "hafta": 46,
            "gun": 2,
            "gosterim": "2023-W46-2"
          },
          "ayinAdi": "Kasım",
          "ceyrek": 4,
          "artikYilMi": false
        },
        "diger": {
          "excelSeri": 45244.92592592593,
          "excelDurumu": {
            "durum": "uygun",
            "destekleniyor": true,
            "kod": "excel-1900-modern-esleme",
            "aciklama": "1900-03-01 ve sonrasında modern +25569 eşlemesi kullanıldı"
          },
          "sqlDatetime": "2023-11-14 22:13:20",
          "jsSnippet": "new Date(1700000000000)",
          "pythonSnippet": "datetime.fromtimestamp(1700000000.000000001, tz=timezone.utc)"
        },
        "uyarilar": [
          "Milisaniye altı hassasiyet epoch alanlarında korundu; tarih metinleri milisaniyeye aşağı yuvarlandı."
        ],
        "sezilenTip": "nanosaniye"
      }
    },
    {
      "senaryo": "Ofsetsiz İstanbul duvar saatinden epoch üretme",
      "girdi": {
        "girdi": "2026-07-26 14:00:00",
        "girdiTipi": "insan",
        "zamanDilimi": "Europe/Istanbul",
        "kaynakDilimi": "Europe/Istanbul"
      },
      "cikti": {
        "durum": "basari",
        "epoch": {
          "saniye": 1785063600,
          "milisaniye": 1785063600000,
          "mikrosaniye": 1785063600000000,
          "nanosaniye": "1785063600000000000"
        },
        "utc": {
          "iso8601": "2026-07-26T11:00:00.000Z",
          "rfc3339": "2026-07-26T11:00:00+00:00",
          "imfFixdate": "Sun, 26 Jul 2026 11:00:00 GMT",
          "genisletilmisGosterim": null,
          "standartUygunlugu": {
            "iso8601": {
              "durum": "uygun",
              "uygun": true,
              "yilAraligi": "0000-9999",
              "kod": "uygun"
            },
            "rfc3339": {
              "durum": "uygun",
              "uygun": true,
              "yilAraligi": "0000-9999",
              "kod": "uygun"
            },
            "imfFixdate": {
              "durum": "uygun",
              "uygun": true,
              "yilAraligi": "1900-9999",
              "kod": "uygun"
            }
          },
          "tarih": "2026-07-26",
          "saat": "11:00:00"
        },
        "yerel": {
          "zamanDilimi": "Europe/Istanbul",
          "ofsetDakika": 180,
          "ofsetMetin": "+03:00",
          "iso8601": "2026-07-26T14:00:00+03:00",
          "genisletilmisGosterim": null,
          "standartUygunlugu": {
            "iso8601": {
              "durum": "uygun",
              "uygun": true,
              "yilAraligi": "0000-9999",
              "kod": "uygun"
            }
          },
          "insan": "26 Temmuz 2026 Pazar 14:00"
        },
        "takvim": {
          "haftaninGunu": "Pazar",
          "haftaninGunuIso": 7,
          "yilinGunu": 207,
          "isoHafta": {
            "yil": 2026,
            "hafta": 30,
            "gun": 7,
            "gosterim": "2026-W30-7"
          },
          "ayinAdi": "Temmuz",
          "ceyrek": 3,
          "artikYilMi": false
        },
        "diger": {
          "excelSeri": 46229.45833333333,
          "excelDurumu": {
            "durum": "uygun",
            "destekleniyor": true,
            "kod": "excel-1900-modern-esleme",
            "aciklama": "1900-03-01 ve sonrasında modern +25569 eşlemesi kullanıldı"
          },
          "sqlDatetime": "2026-07-26 11:00:00",
          "jsSnippet": "new Date(1785063600000)",
          "pythonSnippet": "datetime.fromtimestamp(1785063600, tz=timezone.utc)"
        },
        "uyarilar": [
          "ofsetsiz metin Europe/Istanbul olarak yorumlandı"
        ],
        "sezilenTip": "insan"
      }
    },
    {
      "senaryo": "11 haneli otomatik girdide iki adaylı belirsizlik",
      "girdi": {
        "girdi": "12345678901",
        "girdiTipi": "otomatik",
        "zamanDilimi": "UTC",
        "kaynakDilimi": "UTC"
      },
      "cikti": {
        "durum": "belirsiz",
        "kod": "birim-belirsiz",
        "girdi": "12345678901",
        "basamak": 11,
        "tasarimSezgisi": "[TASARIM-SEZGİSİ] 11 haneli değer saniye veya milisaniye olabilir; açık birim gerekir.",
        "adaylar": [
          {
            "birim": "saniye",
            "sonuc": {
              "durum": "basari",
              "epoch": {
                "saniye": 12345678901,
                "milisaniye": 12345678901000,
                "mikrosaniye": "12345678901000000",
                "nanosaniye": "12345678901000000000"
              },
              "utc": {
                "iso8601": "2361-03-21T19:15:01.000Z",
                "rfc3339": "2361-03-21T19:15:01+00:00",
                "imfFixdate": "Tue, 21 Mar 2361 19:15:01 GMT",
                "genisletilmisGosterim": null,
                "standartUygunlugu": {
                  "iso8601": {
                    "durum": "uygun",
                    "uygun": true,
                    "yilAraligi": "0000-9999",
                    "kod": "uygun"
                  },
                  "rfc3339": {
                    "durum": "uygun",
                    "uygun": true,
                    "yilAraligi": "0000-9999",
                    "kod": "uygun"
                  },
                  "imfFixdate": {
                    "durum": "uygun",
                    "uygun": true,
                    "yilAraligi": "1900-9999",
                    "kod": "uygun"
                  }
                },
                "tarih": "2361-03-21",
                "saat": "19:15:01"
              },
              "yerel": {
                "zamanDilimi": "UTC",
                "ofsetDakika": 0,
                "ofsetMetin": "+00:00",
                "iso8601": "2361-03-21T19:15:01+00:00",
                "genisletilmisGosterim": null,
                "standartUygunlugu": {
                  "iso8601": {
                    "durum": "uygun",
                    "uygun": true,
                    "yilAraligi": "0000-9999",
                    "kod": "uygun"
                  }
                },
                "insan": "21 Mart 2361 Salı 19:15"
              },
              "takvim": {
                "haftaninGunu": "Salı",
                "haftaninGunuIso": 2,
                "yilinGunu": 80,
                "isoHafta": {
                  "yil": 2361,
                  "hafta": 12,
                  "gun": 2,
                  "gosterim": "2361-W12-2"
                },
                "ayinAdi": "Mart",
                "ceyrek": 1,
                "artikYilMi": false
              },
              "diger": {
                "excelSeri": 168458.8020949074,
                "excelDurumu": {
                  "durum": "uygun",
                  "destekleniyor": true,
                  "kod": "excel-1900-modern-esleme",
                  "aciklama": "1900-03-01 ve sonrasında modern +25569 eşlemesi kullanıldı"
                },
                "sqlDatetime": "2361-03-21 19:15:01",
                "jsSnippet": "new Date(12345678901000)",
                "pythonSnippet": "datetime.fromtimestamp(12345678901, tz=timezone.utc)"
              },
              "uyarilar": [
                "Bu an 32-bit signed taşma sınırındadır veya dışındadır; 2038 uyumluluğunu denetleyin."
              ],
              "sezilenTip": "saniye"
            }
          },
          {
            "birim": "milisaniye",
            "sonuc": {
              "durum": "basari",
              "epoch": {
                "saniye": "12345678.901",
                "milisaniye": 12345678901,
                "mikrosaniye": 12345678901000,
                "nanosaniye": "12345678901000000"
              },
              "utc": {
                "iso8601": "1970-05-23T21:21:18.901Z",
                "rfc3339": "1970-05-23T21:21:18.901+00:00",
                "imfFixdate": "Sat, 23 May 1970 21:21:18 GMT",
                "genisletilmisGosterim": null,
                "standartUygunlugu": {
                  "iso8601": {
                    "durum": "uygun",
                    "uygun": true,
                    "yilAraligi": "0000-9999",
                    "kod": "uygun"
                  },
                  "rfc3339": {
                    "durum": "uygun",
                    "uygun": true,
                    "yilAraligi": "0000-9999",
                    "kod": "uygun"
                  },
                  "imfFixdate": {
                    "durum": "uygun",
                    "uygun": true,
                    "yilAraligi": "1900-9999",
                    "kod": "uygun"
                  }
                },
                "tarih": "1970-05-23",
                "saat": "21:21:18"
              },
              "yerel": {
                "zamanDilimi": "UTC",
                "ofsetDakika": 0,
                "ofsetMetin": "+00:00",
                "iso8601": "1970-05-23T21:21:18.901+00:00",
                "genisletilmisGosterim": null,
                "standartUygunlugu": {
                  "iso8601": {
                    "durum": "uygun",
                    "uygun": true,
                    "yilAraligi": "0000-9999",
                    "kod": "uygun"
                  }
                },
                "insan": "23 Mayıs 1970 Cumartesi 21:21"
              },
              "takvim": {
                "haftaninGunu": "Cumartesi",
                "haftaninGunuIso": 6,
                "yilinGunu": 143,
                "isoHafta": {
                  "yil": 1970,
                  "hafta": 21,
                  "gun": 6,
                  "gosterim": "1970-W21-6"
                },
                "ayinAdi": "Mayıs",
                "ceyrek": 2,
                "artikYilMi": false
              },
              "diger": {
                "excelSeri": 25711.88980209491,
                "excelDurumu": {
                  "durum": "uygun",
                  "destekleniyor": true,
                  "kod": "excel-1900-modern-esleme",
                  "aciklama": "1900-03-01 ve sonrasında modern +25569 eşlemesi kullanıldı"
                },
                "sqlDatetime": "1970-05-23 21:21:18",
                "jsSnippet": "new Date(12345678901)",
                "pythonSnippet": "datetime.fromtimestamp(12345678.901, tz=timezone.utc)"
              },
              "uyarilar": [],
              "sezilenTip": "milisaniye"
            }
          }
        ],
        "gerekenEylem": "Kesin sonuç için girdiTipi alanında saniye veya milisaniye seçin."
      }
    }
  ],
  "hataKodlari": [
    {
      "kod": "cozumlenemedi",
      "anlam": "Girdi boş, biçim dışı, bilimsel gösterimde, geçersiz takvim tarihi veya DST boşluğundaki var olmayan bir duvar saatidir."
    },
    {
      "kod": "gecersiz-zaman-dilimi",
      "anlam": "Çıktı ya da gerekli kaynak zaman dilimi Intl tarafından tanınmıyor."
    },
    {
      "kod": "aralik-disi",
      "anlam": "An JavaScript Date sınırı olan ±8640000000000000 milisaniyenin dışında."
    },
    {
      "kod": "acik-birim-gerekli",
      "anlam": "Kesin bir epoch gerektiren fark/aritmetik yardımcısına otomatik 11 haneli değer verildi; saniye veya milisaniye açık seçilmelidir."
    }
  ],
  "sinirlar": [
    "Girdi JSON sözleşmesinde string olmalıdır; Number, NaN, Infinity ve 1e18 gibi bilimsel gösterimler kabul edilmez.",
    "Düz 18+ haneli tamsayı otomatik olarak nanosaniyedir; örneğin 1000000000000000000 nanosaniye geçerlidir.",
    "JavaScript Date sınırı iki uç dahil ±8640000000000000 ms; nanosaniye karşılığı ±8640000000000000000000.",
    "Nanosaniye tamlığı yalnız epoch alanlarında eksiksiz korunur. Dört haneli tarih metinleri ve JavaScript kodu milisaniyeye aşağı yuvarlanır; IMF-fixdate, utc.saat ve SQL saniyeye; yerel.insan dakikaya iner.",
    "RFC 3339 0000–9999, IMF-fixdate 1900–9999 aralığında üretilir. Uygun değilse standart alan null ve standartUygunlugu alt dalı uygun-degil olur; geniş yıl metni genisletilmisGosterim alanındadır.",
    "Excel 1900 sistemi 1900-01-01 öncesini desteklemez; excelSeri null ve excelDurumu desteklenmiyor olur.",
    "ISO ve insan girdileri dört haneli Gregoryen yıl kabul eder.",
    "Kabul edilen ISO girdi alt kümesi YYYY-MM-DD veya YYYY-MM-DDTHH:mm[:ss[.1..9]][Z|±HH:MM[:SS]] biçimidir; basic, ordinal, hafta-tarihi ve virgüllü kesir biçimleri çözümlenmez.",
    "Ofsetsiz IANA duvar saati DST boşluğunda yoksa cozumlenemedi döner; DST çakışmasında erken UTC anı deterministik seçilir ve uyarı eklenir.",
    "Takvim nesnesi UTC tarihine göredir; yerel hafta günü yerel.insan alanında görünür."
  ],
  "notlar": [
    {
      "konu": "artik-saniye",
      "metin": "POSIX her günü 86400 saniye kabul eder; artık saniyeleri Unix sayacına eklemez."
    },
    {
      "konu": "2038",
      "metin": "2147483647, signed 32-bit Unix saniyesinin son değeridir; motor bu sınırda ve dışında uyarı üretir."
    },
    {
      "konu": "tzdata",
      "metin": "Ofsetler sabit değildir; Intl.DateTimeFormat ve seçilen IANA timeZone ile o an için hesaplanır. Sonuç, çalıştıran tarayıcı veya Node sürümünün gömülü tzdata verisine bağlıdır."
    },
    {
      "konu": "tarih-yazimi",
      "metin": "Yalnız YYYY-MM-DD girdisi UTC gün başlangıcıdır. Saat içeren fakat Z/ofset içermeyen metin kaynakDilimi'nde yorumlanır ve uyarıda açıkça yazılır."
    },
    {
      "konu": "excel",
      "metin": "1900-01-01–1900-02-28 için modern +25569 sonucundan 1 çıkarılır; hayalî seri 60 gerçek tarihe karşılık gelmez; 1900-03-01 sonrasında +25569 değişmez; 1900 öncesi desteklenmez."
    },
    {
      "konu": "basamak-sezgisi",
      "metin": "[TASARIM-SEZGİSİ] 1–10/11/12–14/15–17/18+ eşikleri normatif bir standart değil ürün politikasıdır."
    },
    {
      "konu": "negatif-epoch",
      "metin": "POSIX XBD §4.19 negatif epoch (veya yıl 1970'ten küçük) için takvim adı–epoch saniyesi ilişkisini tanımsız bırakır. Motorun proleptik Gregoryen eşlemesi ürün uzantısıdır ve negatif başarı sonuçları uyarilar dizisinde kararlı bir kapsam uyarısı taşır (bkz. negatifEpochPolitikasi)."
    }
  ],
  "kaynaklar": [
    {
      "konu": "POSIX zamanı",
      "kunye": "The Open Group Base Specifications Issue 8 / IEEE Std 1003.1-2024, XBD 4.19 Seconds Since the Epoch",
      "url": "https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap04.html",
      "erisimTarihi": "2026-07-27"
    },
    {
      "konu": "ISO hafta",
      "kunye": "ISO 8601-1:2019, Date and time — Representations for information interchange — Part 1: Basic rules, Edition 1",
      "url": "https://www.iso.org/standard/70907.html",
      "erisimTarihi": "2026-07-27"
    },
    {
      "konu": "RFC 3339",
      "kunye": "G. Klyne, C. Newman, RFC 3339 — Date and Time on the Internet: Timestamps, Temmuz 2002, 5.6",
      "url": "https://www.rfc-editor.org/rfc/rfc3339.html#section-5.6",
      "erisimTarihi": "2026-07-27"
    },
    {
      "konu": "RFC 5322 tarih-saat",
      "kunye": "P. Resnick, RFC 5322 — Internet Message Format, Ekim 2008, 3.3",
      "url": "https://www.rfc-editor.org/rfc/rfc5322.html#section-3.3",
      "erisimTarihi": "2026-07-27"
    },
    {
      "konu": "IMF-fixdate",
      "kunye": "R. Fielding, J. Reschke, RFC 7231 — HTTP/1.1 Semantics and Content, Haziran 2014, 7.1.1.1",
      "url": "https://www.rfc-editor.org/rfc/rfc7231.html#section-7.1.1.1",
      "erisimTarihi": "2026-07-27"
    },
    {
      "konu": "IMF-fixdate güncel standardı",
      "kunye": "R. Fielding, M. Nottingham, J. Reschke, RFC 9110 — HTTP Semantics, Haziran 2022, 5.6.7",
      "url": "https://www.rfc-editor.org/rfc/rfc9110.html#section-5.6.7",
      "erisimTarihi": "2026-07-27"
    },
    {
      "konu": "Excel 1900 sistemi",
      "kunye": "Microsoft Support, Date systems in Excel",
      "url": "https://support.microsoft.com/en-us/office/date-systems-in-excel-e7fe7167-48a9-4b96-bb53-5612a800b487",
      "erisimTarihi": "2026-07-27"
    },
    {
      "konu": "Excel 1900 artık-yıl uyumluluk hatası",
      "kunye": "Microsoft Learn, Excel incorrectly assumes that the year 1900 is a leap year, son güncelleme 30 Mart 2026",
      "url": "https://learn.microsoft.com/en-us/troubleshoot/microsoft-365-apps/excel/wrongly-assumes-1900-is-leap-year",
      "erisimTarihi": "2026-07-27"
    },
    {
      "konu": "Türkiye kalıcı GMT+3",
      "kunye": "7 Eylül 2016 tarihli 2016/9154 sayılı Bakanlar Kurulu Kararı; Resmî Gazete 8 Eylül 2016, Sayı 29825",
      "url": "https://www.resmigazete.gov.tr/eskiler/2016/09/20160908-2.pdf",
      "erisimTarihi": "2026-07-27"
    },
    {
      "konu": "Türkiye kalıcı GMT+3",
      "kunye": "1 Ekim 2018 tarihli 139 sayılı Cumhurbaşkanı Kararı; Resmî Gazete 2 Ekim 2018, Sayı 30553",
      "url": "https://www.resmigazete.gov.tr/eskiler/2018/10/20181002-7.pdf",
      "erisimTarihi": "2026-07-27"
    },
    {
      "konu": "2038",
      "kunye": "The Open Group POSIX.1-2024 Rationale, Base Definitions; time_t ve signed 32-bit 2038 taşması",
      "url": "https://pubs.opengroup.org/onlinepubs/9799919799/xrat/V4_xbd_chap01.html",
      "erisimTarihi": "2026-07-27"
    },
    {
      "konu": "ECMAScript Date TimeClip sınırı",
      "kunye": "ECMA International, ECMA-262 ECMAScript 2026 Language Specification, TimeClip",
      "url": "https://tc39.es/ecma262/2026/multipage/numbers-and-dates.html#sec-timeclip",
      "erisimTarihi": "2026-07-28"
    },
    {
      "konu": "ECMAScript güvenli tamsayı sınırı",
      "kunye": "ECMA International, ECMA-262 ECMAScript 2026 Language Specification, Number.MAX_SAFE_INTEGER",
      "url": "https://tc39.es/ecma262/2026/multipage/numbers-and-dates.html#sec-number.max_safe_integer",
      "erisimTarihi": "2026-07-28"
    }
  ]
}
