{"id":38559,"date":"2026-02-02T23:41:26","date_gmt":"2026-02-02T20:41:26","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=38559"},"modified":"2026-02-02T23:41:26","modified_gmt":"2026-02-02T20:41:26","slug":"java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/","title":{"rendered":"Java 8 Tarih ve Zaman API&#8217;si: LocalDate, LocalDateTime ve Instant"},"content":{"rendered":"<p><body><\/p>\n<h2>Java 8 Tarih ve Zaman API&#8217;si: LocalDate, LocalDateTime ve Instant<\/h2>\n<p>Java&#8217;n\u0131n eski tarih ve zaman API&#8217;si (<code>java.util.Date<\/code> ve <code>java.util.Calendar<\/code>), geli\u015ftiricilere y\u0131llarca hizmet vermi\u015f olsa da, kullan\u0131m zorluklar\u0131, i\u015f par\u00e7ac\u0131\u011f\u0131 g\u00fcvenli\u011fi sorunlar\u0131 ve zaman dilimi y\u00f6netimi karma\u015f\u0131kl\u0131klar\u0131 nedeniyle s\u0131kl\u0131kla ele\u015ftirilmi\u015ftir. Bu eksiklikleri gidermek amac\u0131yla Java 8 ile birlikte tamamen yeni bir tarih ve zaman API&#8217;si olan <code>java.time<\/code> paketi tan\u0131t\u0131ld\u0131. Bu yeni API, Joda-Time projesinden esinlenerek daha okunabilir, de\u011fi\u015fmez (immutable) ve i\u015f par\u00e7ac\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan g\u00fcvenli s\u0131n\u0131flar sunar. Bu rehberde, Java 8&#8217;in en temel ve s\u0131k kullan\u0131lan tarih\/saat s\u0131n\u0131flar\u0131ndan olan <code>LocalDate<\/code>, <code>LocalDateTime<\/code> ve <code>Instant<\/code>&#8216;\u0131 detayl\u0131 olarak inceleyece\u011fiz.<\/p>\n<h3>Java 8 Tarih ve Zaman API&#8217;sinin Temelleri<\/h3>\n<p><code>java.time<\/code> paketi, tarih ve zaman\u0131 \u00e7e\u015fitli \u015fekillerde temsil etmek i\u00e7in tasarlanm\u0131\u015f bir dizi s\u0131n\u0131f sunar. Bu s\u0131n\u0131flar, farkl\u0131 ihtiya\u00e7lara y\u00f6nelik olarak spesifik sorumluluklara sahiptir:<\/p>\n<ul>\n<li><strong>LocalDate:<\/strong> Yaln\u0131zca tarihi (y\u0131l, ay, g\u00fcn) temsil eder, saat veya zaman dilimi bilgisi i\u00e7ermez.<\/li>\n<li><strong>LocalTime:<\/strong> Yaln\u0131zca saati (saat, dakika, saniye, nanosaniye) temsil eder, tarih veya zaman dilimi bilgisi i\u00e7ermez.<\/li>\n<li><strong>LocalDateTime:<\/strong> Tarih ve saati bir arada temsil eder, ancak zaman dilimi bilgisi i\u00e7ermez.<\/li>\n<li><strong>Instant:<\/strong> Evrensel saat (UTC) tabanl\u0131, epoch&#8217;tan itibaren ge\u00e7en s\u00fcreyi nanosaniye hassasiyetinde g\u00f6steren bir anl\u0131k zaman noktas\u0131d\u0131r. Zaman dilimi bilgisi i\u00e7ermez, ancak bir zaman dilimiyle birle\u015ftirilerek anlam kazan\u0131r.<\/li>\n<li><strong>ZonedDateTime:<\/strong> Bir <code>LocalDateTime<\/code>&#8216;a bir <code>ZoneId<\/code> (zaman dilimi) ekleyerek belirli bir co\u011frafi b\u00f6lgedeki tam tarih ve zaman\u0131 temsil eder.<\/li>\n<li><strong>Duration:<\/strong> \u0130ki <code>Instant<\/code>, <code>LocalDateTime<\/code> veya <code>LocalTime<\/code> aras\u0131ndaki zaman fark\u0131n\u0131 saniye ve nanosaniye cinsinden \u00f6l\u00e7er.<\/li>\n<li><strong>Period:<\/strong> \u0130ki <code>LocalDate<\/code> aras\u0131ndaki zaman fark\u0131n\u0131 y\u0131l, ay ve g\u00fcn cinsinden \u00f6l\u00e7er.<\/li>\n<\/ul>\n<p>Bu rehberde, \u00f6zellikle <code>LocalDate<\/code>, <code>LocalDateTime<\/code> ve <code>Instant<\/code> \u00fczerinde duraca\u011f\u0131z.<\/p>\n<h3>LocalDate: Sadece Tarih Bilgisi<\/h3>\n<p><code>LocalDate<\/code> s\u0131n\u0131f\u0131, bir takvim tarihini (y\u0131l, ay, g\u00fcn) temsil eder. Saat veya zaman dilimi bilgisi i\u00e7ermez. Bu \u00f6zelli\u011fi onu do\u011fum tarihleri, tatil g\u00fcnleri veya bir olay\u0131n ger\u00e7ekle\u015fti\u011fi tarih gibi durumlarda ideal k\u0131lar. De\u011fi\u015fmez (immutable) bir s\u0131n\u0131ft\u0131r, yani bir <code>LocalDate<\/code> nesnesi olu\u015fturulduktan sonra de\u011feri de\u011fi\u015ftirilemez; herhangi bir i\u015flem yeni bir <code>LocalDate<\/code> nesnesi d\u00f6nd\u00fcr\u00fcr.<\/p>\n<h4>LocalDate Olu\u015fturma<\/h4>\n<p><code>LocalDate<\/code> nesnelerini olu\u015fturman\u0131n birka\u00e7 yolu vard\u0131r:<\/p>\n<ul>\n<li><strong>Mevcut Tarihi Alma:<\/strong> <code>now()<\/code> metodu ile sistemin varsay\u0131lan zaman dilimine g\u00f6re mevcut tarihi alabilirsiniz.<\/li>\n<li><strong>Belirli Bir Tarih Olu\u015fturma:<\/strong> <code>of()<\/code> metodu ile y\u0131l, ay ve g\u00fcn de\u011ferlerini vererek belirli bir tarih olu\u015fturabilirsiniz.<\/li>\n<li><strong>Metin Dizisinden Ayr\u0131\u015ft\u0131rma:<\/strong> <code>parse()<\/code> metodu ile ISO-8601 format\u0131nda bir metin dizisinden tarih ayr\u0131\u015ft\u0131rabilirsiniz.<\/li>\n<\/ul>\n<pre><code class=\"language-java\">\nimport java.time.LocalDate;\nimport java.time.Month;\n\npublic class LocalDateOrnekleri {\n    public static void main(String[] args) {\n        \/\/ 1. Mevcut tarihi alma\n        LocalDate bugun = LocalDate.now();\n        System.out.println(\"Bug\u00fcn\u00fcn tarihi: \" + bugun); \/\/ \u00d6rn: 2023-10-26\n\n        \/\/ 2. Belirli bir tarih olu\u015fturma\n        LocalDate dogumGunu = LocalDate.of(1990, 5, 15);\n        System.out.println(\"Do\u011fum g\u00fcn\u00fc: \" + dogumGunu); \/\/ 1990-05-15\n\n        LocalDate baskaBirGun = LocalDate.of(2024, Month.JANUARY, 1); \/\/ Month enum kullan\u0131larak\n        System.out.println(\"Ba\u015fka bir g\u00fcn: \" + baskaBirGun); \/\/ 2024-01-01\n\n        \/\/ 3. Metin dizisinden ayr\u0131\u015ft\u0131rma\n        LocalDate tatilGunu = LocalDate.parse(\"2023-12-31\");\n        System.out.println(\"Tatil g\u00fcn\u00fc: \" + tatilGunu); \/\/ 2023-12-31\n\n        \/\/ Hatal\u0131 formatta ayr\u0131\u015ft\u0131rma denemesi (DateTimeParseException f\u0131rlat\u0131r)\n        \/\/ LocalDate hataliTarih = LocalDate.parse(\"31.12.2023\"); \n    }\n}\n<\/code><\/pre>\n<h4>LocalDate ile \u0130\u015flemler<\/h4>\n<p><code>LocalDate<\/code>, tarih \u00fczerinde \u00e7e\u015fitli manip\u00fclasyonlar ve sorgulamalar yapman\u0131z\u0131 sa\u011flayan zengin bir metod setine sahiptir:<\/p>\n<ul>\n<li><strong>Tarih Bile\u015fenlerini Alma:<\/strong> <code>getYear()<\/code>, <code>getMonth()<\/code>, <code>getDayOfMonth()<\/code>, <code>getDayOfWeek()<\/code> gibi metotlar.<\/li>\n<li><strong>Tarih Ekleme\/\u00c7\u0131karma:<\/strong> <code>plusDays()<\/code>, <code>minusMonths()<\/code>, <code>plusYears()<\/code> gibi metotlar.<\/li>\n<li><strong>Tarihi De\u011fi\u015ftirme:<\/strong> <code>withYear()<\/code>, <code>withMonth()<\/code>, <code>withDayOfMonth()<\/code> gibi metotlar.<\/li>\n<li><strong>Kar\u015f\u0131la\u015ft\u0131rma:<\/strong> <code>isBefore()<\/code>, <code>isAfter()<\/code>, <code>isEqual()<\/code> metotlar\u0131.<\/li>\n<li><strong>Art\u0131k Y\u0131l Kontrol\u00fc:<\/strong> <code>isLeapYear()<\/code> metodu.<\/li>\n<\/ul>\n<pre><code class=\"language-java\">\nimport java.time.DayOfWeek;\nimport java.time.LocalDate;\n\npublic class LocalDateIslemleri {\n    public static void main(String[] args) {\n        LocalDate bugun = LocalDate.now();\n        System.out.println(\"Bug\u00fcn: \" + bugun);\n\n        \/\/ Tarih bile\u015fenlerini alma\n        int yil = bugun.getYear();\n        Month ay = bugun.getMonth();\n        int gun = bugun.getDayOfMonth();\n        DayOfWeek haftaninGunu = bugun.getDayOfWeek();\n\n        System.out.println(\"Y\u0131l: \" + yil + \", Ay: \" + ay + \", G\u00fcn: \" + gun + \", Haftan\u0131n G\u00fcn\u00fc: \" + haftaninGunu);\n\n        \/\/ Tarih ekleme\/\u00e7\u0131karma (yeni nesne d\u00f6nd\u00fcr\u00fcr)\n        LocalDate gelecekHafta = bugun.plusWeeks(1);\n        System.out.println(\"Gelecek hafta: \" + gelecekHafta);\n\n        LocalDate gecmisAy = bugun.minusMonths(1);\n        System.out.println(\"Ge\u00e7mi\u015f ay: \" + gecmisAy);\n\n        \/\/ Tarihi de\u011fi\u015ftirme (yeni nesne d\u00f6nd\u00fcr\u00fcr)\n        LocalDate yeniYil = bugun.withYear(2025).withMonth(1).withDayOfMonth(1);\n        System.out.println(\"Yeni Y\u0131l (2025): \" + yeniYil);\n\n        \/\/ Kar\u015f\u0131la\u015ft\u0131rma\n        LocalDate yarin = bugun.plusDays(1);\n        System.out.println(\"Bug\u00fcn yar\u0131ndan \u00f6nce mi? \" + bugun.isBefore(yarin)); \/\/ true\n        System.out.println(\"Bug\u00fcn yar\u0131na e\u015fit mi? \" + bugun.isEqual(yarin));   \/\/ false\n\n        \/\/ Art\u0131k y\u0131l kontrol\u00fc\n        LocalDate artikYil = LocalDate.of(2024, 1, 1);\n        System.out.println(\"2024 art\u0131k y\u0131l m\u0131? \" + artikYil.isLeapYear()); \/\/ true\n        LocalDate normalYil = LocalDate.of(2023, 1, 1);\n        System.out.println(\"2023 art\u0131k y\u0131l m\u0131? \" + normalYil.isLeapYear()); \/\/ false\n    }\n}\n<\/code><\/pre>\n<h4>Pratik Bilgiler: LocalDate<\/h4>\n<ul>\n<li><strong>Veritaban\u0131 Saklama:<\/strong> <code>LocalDate<\/code> genellikle SQL&#8217;deki <code>DATE<\/code> tipi s\u00fctunlara do\u011frudan e\u015flenebilir. JPA\/Hibernate gibi ORM&#8217;ler Java 8 tarih tiplerini otomatik olarak destekler.<\/li>\n<li><strong>Do\u011fum Tarihleri:<\/strong> Ki\u015filerin do\u011fum tarihlerini saklamak i\u00e7in m\u00fckemmeldir, \u00e7\u00fcnk\u00fc saat veya zaman dilimi do\u011fum g\u00fcn\u00fcn\u00fcn kendisi i\u00e7in genellikle \u00f6nemsizdir.<\/li>\n<li><strong>Etkinlik Tarihleri:<\/strong> Belirli bir g\u00fcnde ger\u00e7ekle\u015fecek etkinliklerin tarihlerini (konserler, resmi tatiller) y\u00f6netmek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/li>\n<\/ul>\n<h3>LocalDateTime: Tarih ve Saat Bilgisi<\/h3>\n<p><code>LocalDateTime<\/code> s\u0131n\u0131f\u0131, bir tarih (y\u0131l, ay, g\u00fcn) ve bir saat (saat, dakika, saniye, nanosaniye) kombinasyonunu temsil eder. Ancak, <code>LocalDate<\/code> gibi, herhangi bir zaman dilimi bilgisi i\u00e7ermez. Bu, onu belirli bir yerel ba\u011flamda (\u00f6rne\u011fin, bir sunucunun yerel saati veya bir kullan\u0131c\u0131n\u0131n zaman dilimi hen\u00fcz belirlenmemi\u015f bir etkinlik saati) tarih ve saati kaydetmek i\u00e7in uygun k\u0131lar. E\u011fer zaman dilimi \u00f6nemliyse, <code>ZonedDateTime<\/code> veya <code>Instant<\/code> kullanmal\u0131s\u0131n\u0131z.<\/p>\n<h4>LocalDateTime Olu\u015fturma<\/h4>\n<p><code>LocalDateTime<\/code> nesneleri de benzer y\u00f6ntemlerle olu\u015fturulabilir:<\/p>\n<ul>\n<li><strong>Mevcut Tarih ve Saati Alma:<\/strong> <code>now()<\/code> metodu ile.<\/li>\n<li><strong>Belirli Bir Tarih ve Saat Olu\u015fturma:<\/strong> <code>of()<\/code> metodu ile.<\/li>\n<li><strong>Metin Dizisinden Ayr\u0131\u015ft\u0131rma:<\/strong> <code>parse()<\/code> metodu ile ISO-8601 format\u0131nda.<\/li>\n<li><strong><code>LocalDate<\/code> ve <code>LocalTime<\/code> Birle\u015ftirme:<\/strong> Var olan bir <code>LocalDate<\/code> ve <code>LocalTime<\/code> nesnesini birle\u015ftirerek.<\/li>\n<\/ul>\n<pre><code class=\"language-java\">\nimport java.time.LocalDate;\nimport java.time.LocalDateTime;\nimport java.time.LocalTime;\n\npublic class LocalDateTimeOrnekleri {\n    public static void main(String[] args) {\n        \/\/ 1. Mevcut tarih ve saati alma\n        LocalDateTime simdi = LocalDateTime.now();\n        System.out.println(\"\u015eimdi: \" + simdi); \/\/ \u00d6rn: 2023-10-26T10:30:45.123456789\n\n        \/\/ 2. Belirli bir tarih ve saat olu\u015fturma\n        LocalDateTime randevu = LocalDateTime.of(2023, 11, 15, 14, 30);\n        System.out.println(\"Randevu: \" + randevu); \/\/ 2023-11-15T14:30\n\n        LocalDateTime etkinlik = LocalDateTime.of(2024, 1, 1, 9, 0, 0, 0); \/\/ Nanosaniye ile\n        System.out.println(\"Etkinlik: \" + etkinlik); \/\/ 2024-01-01T09:00\n\n        \/\/ 3. Metin dizisinden ayr\u0131\u015ft\u0131rma\n        LocalDateTime logZamani = LocalDateTime.parse(\"2023-10-26T08:00:00\");\n        System.out.println(\"Log Zaman\u0131: \" + logZamani); \/\/ 2023-10-26T08:00\n\n        \/\/ 4. LocalDate ve LocalTime birle\u015ftirme\n        LocalDate tarih = LocalDate.of(2023, 12, 25);\n        LocalTime saat = LocalTime.of(18, 0);\n        LocalDateTime noelPartisi = LocalDateTime.of(tarih, saat);\n        System.out.println(\"Noel Partisi: \" + noelPartisi); \/\/ 2023-12-25T18:00\n    }\n}\n<\/code><\/pre>\n<h4>LocalDateTime ile \u0130\u015flemler<\/h4>\n<p><code>LocalDateTime<\/code> de <code>LocalDate<\/code>&#8216;a benzer manip\u00fclasyon metotlar\u0131na sahiptir, ancak hem tarih hem de saat bile\u015fenleri \u00fczerinde i\u015flem yapabilir:<\/p>\n<ul>\n<li><strong>Bile\u015fenleri Alma:<\/strong> <code>getYear()<\/code>, <code>getMonth()<\/code>, <code>getHour()<\/code>, <code>getMinute()<\/code> vb.<\/li>\n<li><strong>Ekleme\/\u00c7\u0131karma:<\/strong> <code>plusDays()<\/code>, <code>minusHours()<\/code>, <code>plusMinutes()<\/code> vb.<\/li>\n<li><strong>De\u011fi\u015ftirme:<\/strong> <code>withDayOfMonth()<\/code>, <code>withHour()<\/code> vb.<\/li>\n<li><strong>Kar\u015f\u0131la\u015ft\u0131rma:<\/strong> <code>isBefore()<\/code>, <code>isAfter()<\/code>, <code>isEqual()<\/code>.<\/li>\n<\/ul>\n<pre><code class=\"language-java\">\nimport java.time.LocalDateTime;\n\npublic class LocalDateTimeIslemleri {\n    public static void main(String[] args) {\n        LocalDateTime simdi = LocalDateTime.now();\n        System.out.println(\"\u015eimdi: \" + simdi);\n\n        \/\/ Saat bile\u015fenlerini alma\n        int saat = simdi.getHour();\n        int dakika = simdi.getMinute();\n        System.out.println(\"Saat: \" + saat + \", Dakika: \" + dakika);\n\n        \/\/ Tarih ve saat ekleme\/\u00e7\u0131karma\n        LocalDateTime gelecekHaftaAyniSaat = simdi.plusWeeks(1);\n        System.out.println(\"Gelecek hafta ayn\u0131 saat: \" + gelecekHaftaAyniSaat);\n\n        LocalDateTime besSaatSonra = simdi.plusHours(5);\n        System.out.println(\"5 saat sonra: \" + besSaatSonra);\n\n        \/\/ Tarih ve saati de\u011fi\u015ftirme\n        LocalDateTime geceYarisi = simdi.withHour(0).withMinute(0).withSecond(0).withNano(0);\n        System.out.println(\"Bug\u00fcn\u00fcn gece yar\u0131s\u0131: \" + geceYarisi);\n\n        \/\/ Kar\u015f\u0131la\u015ft\u0131rma\n        LocalDateTime yarinAyniSaat = simdi.plusDays(1);\n        System.out.println(\"\u015eimdi yar\u0131ndan \u00f6nce mi? \" + simdi.isBefore(yarinAyniSaat)); \/\/ true\n    }\n}\n<\/code><\/pre>\n<h4>Pratik Bilgiler: LocalDateTime<\/h4>\n<ul>\n<li><strong>Veritaban\u0131 Saklama:<\/strong> SQL&#8217;deki <code>DATETIME<\/code> veya <code>TIMESTAMP<\/code> (zaman dilimi olmayan) s\u00fctunlara e\u015flenebilir.<\/li>\n<li><strong>Kullan\u0131c\u0131 Aray\u00fcz\u00fc G\u00f6sterimi:<\/strong> Kullan\u0131c\u0131n\u0131n kendi yerel zaman diliminde g\u00f6rmesi gereken tarih ve saatler i\u00e7in ba\u015flang\u0131\u00e7 noktas\u0131 olabilir. Ancak, global uygulamalarda bu bilgiyi <code>ZonedDateTime<\/code>&#8216;a d\u00f6n\u00fc\u015ft\u00fcrmek genellikle daha g\u00fcvenlidir.<\/li>\n<li><strong>Loglama:<\/strong> Bir uygulaman\u0131n yerel zaman diliminde olaylar\u0131 kaydetmek i\u00e7in yayg\u0131n olarak kullan\u0131l\u0131r.<\/li>\n<\/ul>\n<h3>Instant: Anl\u0131k Zaman Noktas\u0131 (UTC)<\/h3>\n<p><code>Instant<\/code> s\u0131n\u0131f\u0131, zaman \u00e7izelgesinde tek, de\u011fi\u015fmez bir anl\u0131k noktay\u0131 temsil eder. Bu, &#8220;epoch&#8221; olarak bilinen 1 Ocak 1970 UTC&#8217;den bu yana ge\u00e7en saniye say\u0131s\u0131yla \u00f6l\u00e7\u00fcl\u00fcr ve nanosaniye hassasiyetine kadar desteklenir. <code>Instant<\/code>, insan odakl\u0131 bir tarih ve saat bilgisi yerine, makine odakl\u0131, evrensel (UTC) bir zaman damgas\u0131d\u0131r. Zaman dilimi veya takvim sistemi bilgisi i\u00e7ermez.<\/p>\n<h4>Instant Olu\u015fturma<\/h4>\n<ul>\n<li><strong>Mevcut An\u0131 Alma:<\/strong> <code>now()<\/code> metodu ile.<\/li>\n<li><strong>Epoch&#8217;tan Olu\u015fturma:<\/strong> <code>ofEpochSecond()<\/code> veya <code>ofEpochMilli()<\/code> metotlar\u0131 ile.<\/li>\n<li><strong>Metin Dizisinden Ayr\u0131\u015ft\u0131rma:<\/strong> <code>parse()<\/code> metodu ile ISO-8601 format\u0131nda (<code>YYYY-MM-DDThh:mm:ss.nnnnnnnZ<\/code>).<\/li>\n<\/ul>\n<pre><code class=\"language-java\">\nimport java.time.Instant;\n\npublic class InstantOrnekleri {\n    public static void main(String[] args) {\n        \/\/ 1. Mevcut an\u0131 alma (UTC)\n        Instant simdiInstant = Instant.now();\n        System.out.println(\"\u015eimdi (Instant): \" + simdiInstant); \/\/ \u00d6rn: 2023-10-26T07:30:45.123456789Z ('Z' UTC'yi belirtir)\n\n        \/\/ 2. Epoch'tan saniye veya milisaniye ile olu\u015fturma\n        Instant epochSaniye = Instant.ofEpochSecond(0);\n        System.out.println(\"Epoch ba\u015flang\u0131c\u0131: \" + epochSaniye); \/\/ 1970-01-01T00:00:00Z\n\n        Instant onSaniyeSonra = Instant.ofEpochSecond(10);\n        System.out.println(\"Epoch'tan 10 saniye sonra: \" + onSaniyeSonra); \/\/ 1970-01-01T00:00:10Z\n\n        Instant epochMilisaniye = Instant.ofEpochMilli(1678886400000L); \/\/ 2023-03-15 00:00:00 UTC\n        System.out.println(\"Milisaniyeden olu\u015fturulan Instant: \" + epochMilisaniye); \/\/ 2023-03-15T00:00:00Z\n\n        \/\/ 3. Metin dizisinden ayr\u0131\u015ft\u0131rma\n        Instant belirliAn = Instant.parse(\"2023-01-01T00:00:00Z\");\n        System.out.println(\"Belirli bir an: \" + belirliAn); \/\/ 2023-01-01T00:00:00Z\n    }\n}\n<\/code><\/pre>\n<h4>Instant ile \u0130\u015flemler<\/h4>\n<p><code>Instant<\/code> ile de zaman ekleme\/\u00e7\u0131karma ve kar\u015f\u0131la\u015ft\u0131rma i\u015flemleri yap\u0131labilir:<\/p>\n<ul>\n<li><strong>Zaman Ekleme\/\u00c7\u0131karma:<\/strong> <code>plusSeconds()<\/code>, <code>minusMillis()<\/code>, <code>plus()<\/code>, <code>minus()<\/code> metotlar\u0131.<\/li>\n<li><strong>Kar\u015f\u0131la\u015ft\u0131rma:<\/strong> <code>isBefore()<\/code>, <code>isAfter()<\/code>, <code>isEqual()<\/code> metotlar\u0131.<\/li>\n<li><strong>D\u00f6n\u00fc\u015f\u00fcmler:<\/strong> <code>toEpochMilli()<\/code> metodu ile milisaniye cinsinden epoch de\u011ferini alabilirsiniz.<\/li>\n<\/ul>\n<pre><code class=\"language-java\">\nimport java.time.Instant;\nimport java.time.Duration;\n\npublic class InstantIslemleri {\n    public static void main(String[] args) {\n        Instant simdi = Instant.now();\n        System.out.println(\"\u015eimdi (Instant): \" + simdi);\n\n        \/\/ 5 dakika sonras\u0131\n        Instant besDakikaSonra = simdi.plusSeconds(300); \/\/ 5 dakika = 300 saniye\n        System.out.println(\"5 dakika sonra: \" + besDakikaSonra);\n\n        \/\/ 2 saat \u00f6ncesi (Duration kullanarak)\n        Instant ikiSaatOnce = simdi.minus(Duration.ofHours(2));\n        System.out.println(\"2 saat \u00f6nce: \" + ikiSaatOnce);\n\n        \/\/ Kar\u015f\u0131la\u015ft\u0131rma\n        System.out.println(\"\u015eimdi 5 dakika sonradan \u00f6nce mi? \" + simdi.isBefore(besDakikaSonra)); \/\/ true\n\n        \/\/ Epoch milisaniyesine d\u00f6n\u00fc\u015ft\u00fcrme (eski Date API ile uyumluluk i\u00e7in)\n        long epochMilli = simdi.toEpochMilli();\n        System.out.println(\"Epoch milisaniye: \" + epochMilli);\n    }\n}\n<\/code><\/pre>\n<h4>Pratik Bilgiler: Instant<\/h4>\n<ul>\n<li><strong>Veritaban\u0131 Saklama:<\/strong> SQL&#8217;deki <code>TIMESTAMP WITH TIME ZONE<\/code> veya <code>BIGINT<\/code> (epoch milisaniye\/saniye olarak) s\u00fctunlara e\u015flenebilir. En g\u00fcvenli ve ta\u015f\u0131nabilir yol genellikle epoch de\u011ferini (<code>long<\/code>) saklamakt\u0131r.<\/li>\n<li><strong>Sistemler Aras\u0131 \u0130leti\u015fim:<\/strong> Farkl\u0131 zaman dilimlerinde \u00e7al\u0131\u015fan sistemler aras\u0131nda zaman damgalar\u0131n\u0131 iletmek i\u00e7in idealdir. T\u00fcm sistemler ayn\u0131 anl\u0131k noktay\u0131 (UTC) referans al\u0131r, bu da zaman dilimi d\u00f6n\u00fc\u015f\u00fcmlerindeki hatalar\u0131 \u00f6nler.<\/li>\n<li><strong>Olay S\u0131ralamas\u0131:<\/strong> Olaylar\u0131n kronolojik s\u0131ras\u0131n\u0131 belirlemek i\u00e7in kullan\u0131l\u0131r, \u00e7\u00fcnk\u00fc zaman diliminden ba\u011f\u0131ms\u0131zd\u0131r.<\/li>\n<\/ul>\n<h3>Zaman Dilimleri ile \u00c7al\u0131\u015fma: ZoneId ve ZonedDateTime<\/h3>\n<p><code>LocalDate<\/code> ve <code>LocalDateTime<\/code> yerel tarih ve saatleri temsil ederken, <code>Instant<\/code> evrensel bir zaman noktas\u0131n\u0131 temsil eder. Ancak ger\u00e7ek d\u00fcnya uygulamalar\u0131nda genellikle belirli bir zaman dilimindeki tarih ve saati bilmemiz gerekir. \u0130\u015fte burada <code>ZoneId<\/code> ve <code>ZonedDateTime<\/code> devreye girer.<\/p>\n<p><strong><code>ZoneId<\/code>:<\/strong> Bir co\u011frafi b\u00f6lgenin zaman dilimini temsil eder (\u00f6rne\u011fin, &#8220;Europe\/Istanbul&#8221;, &#8220;America\/New_York&#8221;).<\/p>\n<p><strong><code>ZonedDateTime<\/code>:<\/strong> Bir <code>LocalDateTime<\/code>&#8216;a bir <code>ZoneId<\/code> ekleyerek belirli bir zaman dilimindeki tam tarih ve saati temsil eder.<\/p>\n<h4>D\u00f6n\u00fc\u015f\u00fcmler<\/h4>\n<pre><code class=\"language-java\">\nimport java.time.Instant;\nimport java.time.LocalDateTime;\nimport java.time.ZonedDateTime;\nimport java.time.ZoneId;\nimport java.time.format.DateTimeFormatter;\n\npublic class ZamanDilimiOrnekleri {\n    public static void main(String[] args) {\n        \/\/ \u0130stanbul zaman dilimi\n        ZoneId istanbulZone = ZoneId.of(\"Europe\/Istanbul\");\n        System.out.println(\"\u0130stanbul Zaman Dilimi: \" + istanbulZone);\n\n        \/\/ New York zaman dilimi\n        ZoneId newYorkZone = ZoneId.of(\"America\/New_York\");\n        System.out.println(\"New York Zaman Dilimi: \" + newYorkZone);\n\n        \/\/ 1. LocalDateTime'dan ZonedDateTime'a\n        LocalDateTime yerelSimdi = LocalDateTime.now();\n        System.out.println(\"Yerel \u015fimdi (LocalDateTime): \" + yerelSimdi);\n\n        ZonedDateTime istanbulSimdi = ZonedDateTime.of(yerelSimdi, istanbulZone);\n        System.out.println(\"\u0130stanbul \u015fimdi (ZonedDateTime): \" + istanbulSimdi); \/\/ Kendi yerel saatinizi \u0130stanbul'a g\u00f6re ayarlar\n\n        \/\/ 2. Instant'tan ZonedDateTime'a\n        Instant evrenselSimdi = Instant.now();\n        System.out.println(\"Evrensel \u015fimdi (Instant): \" + evrenselSimdi);\n\n        ZonedDateTime istanbulAnlik = ZonedDateTime.ofInstant(evrenselSimdi, istanbulZone);\n        System.out.println(\"\u0130stanbul anl\u0131k (ZonedDateTime): \" + istanbulAnlik);\n\n        ZonedDateTime newYorkAnlik = ZonedDateTime.ofInstant(evrenselSimdi, newYorkZone);\n        System.out.println(\"New York anl\u0131k (ZonedDateTime): \" + newYorkAnlik);\n\n        \/\/ Farkl\u0131 zaman dilimlerinde ayn\u0131 an\u0131n g\u00f6sterimi\n        System.out.println(\"Ayn\u0131 an\u0131n \u0130stanbul'da g\u00f6r\u00fcn\u00fcm\u00fc: \" + istanbulAnlik.format(DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm:ss VV\")));\n        System.out.println(\"Ayn\u0131 an\u0131n New York'ta g\u00f6r\u00fcn\u00fcm\u00fc: \" + newYorkAnlik.format(DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm:ss VV\")));\n\n        \/\/ ZonedDateTime'dan Instant'a geri d\u00f6n\u00fc\u015f\n        Instant geriDonenInstant = istanbulAnlik.toInstant();\n        System.out.println(\"Geri d\u00f6nen Instant: \" + geriDonenInstant); \/\/ Orijinal Instant ile ayn\u0131 olmal\u0131\n    }\n}\n<\/code><\/pre>\n<p><strong>\u00d6nemli Not:<\/strong> <code>LocalDateTime.now()<\/code>, JVM&#8217;in \u00e7al\u0131\u015ft\u0131\u011f\u0131 makinenin varsay\u0131lan zaman dilimini kullan\u0131r. Bu nedenle, <code>LocalDateTime<\/code>&#8216;dan <code>ZonedDateTime<\/code>&#8216;a d\u00f6n\u00fc\u015f\u00fcm yaparken, <code>ZonedDateTime.of(localDateTime, zoneId)<\/code> metodu, <code>localDateTime<\/code>&#8216;\u0131n zaten belirtilen <code>zoneId<\/code>&#8216;da oldu\u011fu varsay\u0131l\u0131r. E\u011fer <code>localDateTime<\/code>&#8216;\u0131n ba\u015fka bir zaman diliminde oldu\u011funu ve belirtilen <code>zoneId<\/code>&#8216;a d\u00f6n\u00fc\u015ft\u00fcr\u00fclmesi gerekti\u011fini d\u00fc\u015f\u00fcn\u00fcyorsan\u0131z, \u00f6nce <code>Instant<\/code>&#8216;a d\u00f6n\u00fc\u015ft\u00fcr\u00fcp sonra <code>ZonedDateTime.ofInstant(instant, zoneId)<\/code> kullanmak daha g\u00fcvenlidir.<\/p>\n<h3>Formatlama ve Ayr\u0131\u015ft\u0131rma (DateTimeFormatter)<\/h3>\n<p>Tarih ve zaman nesnelerini kullan\u0131c\u0131 dostu metinlere d\u00f6n\u00fc\u015ft\u00fcrmek (formatlama) ve metinlerden tarih\/zaman nesneleri olu\u015fturmak (ayr\u0131\u015ft\u0131rma) i\u00e7in <code>DateTimeFormatter<\/code> s\u0131n\u0131f\u0131 kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-java\">\nimport java.time.LocalDate;\nimport java.time.LocalDateTime;\nimport java.time.Instant;\nimport java.time.ZoneId;\nimport java.time.ZonedDateTime;\nimport java.time.format.DateTimeFormatter;\n\npublic class FormatlamaAyr\u0131\u015ft\u0131rma {\n    public static void main(String[] args) {\n        LocalDate tarih = LocalDate.of(2023, 10, 26);\n        LocalDateTime tarihSaat = LocalDateTime.of(2023, 10, 26, 14, 35, 50);\n        Instant anlik = Instant.now();\n        ZonedDateTime zdt = ZonedDateTime.ofInstant(anlik, ZoneId.of(\"Europe\/Istanbul\"));\n\n        \/\/ 1. \u00d6nceden Tan\u0131mlanm\u0131\u015f Formatlay\u0131c\u0131lar\n        System.out.println(\"LocalDate (ISO_DATE): \" + tarih.format(DateTimeFormatter.ISO_DATE)); \/\/ 2023-10-26\n        System.out.println(\"LocalDateTime (ISO_LOCAL_DATE_TIME): \" + tarihSaat.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)); \/\/ 2023-10-26T14:35:50\n        System.out.println(\"Instant (ISO_INSTANT): \" + anlik.format(DateTimeFormatter.ISO_INSTANT)); \/\/ 2023-10-26T07:35:50.123456789Z\n\n        \/\/ 2. \u00d6zel Formatlay\u0131c\u0131lar\n        DateTimeFormatter ozelTarihFormat = DateTimeFormatter.ofPattern(\"dd.MM.yyyy EEEE\");\n        System.out.println(\"\u00d6zel Tarih Format\u0131: \" + tarih.format(ozelTarihFormat)); \/\/ 26.10.2023 Per\u015fembe\n\n        DateTimeFormatter ozelTarihSaatFormat = DateTimeFormatter.ofPattern(\"yyyy\/MM\/dd HH:mm:ss\");\n        System.out.println(\"\u00d6zel Tarih\/Saat Format\u0131: \" + tarihSaat.format(ozelTarihSaatFormat)); \/\/ 2023\/10\/26 14:35:50\n\n        DateTimeFormatter ozelZdtFormat = DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm:ss VV\");\n        System.out.println(\"\u00d6zel ZonedDateTime Format\u0131: \" + zdt.format(ozelZdtFormat)); \/\/ 2023-10-26 10:35:50 Europe\/Istanbul\n\n        \/\/ 3. Ayr\u0131\u015ft\u0131rma\n        String tarihStr = \"15.08.2024\";\n        LocalDate ayrilmisTarih = LocalDate.parse(tarihStr, DateTimeFormatter.ofPattern(\"dd.MM.yyyy\"));\n        System.out.println(\"Ayr\u0131\u015ft\u0131r\u0131lm\u0131\u015f Tarih: \" + ayrilmisTarih); \/\/ 2024-08-15\n\n        String tarihSaatStr = \"2023-01-01 12:00:00\";\n        LocalDateTime ayrilmisTarihSaat = LocalDateTime.parse(tarihSaatStr, DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm:ss\"));\n        System.out.println(\"Ayr\u0131\u015ft\u0131r\u0131lm\u0131\u015f Tarih\/Saat: \" + ayrilmisTarihSaat); \/\/ 2023-01-01T12:00\n    }\n}\n<\/code><\/pre>\n<h3>Sonu\u00e7<\/h3>\n<p>Java 8&#8217;in <code>java.time<\/code> paketi, tarih ve zaman y\u00f6netimi i\u00e7in modern, temiz ve g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcm sunar. <code>LocalDate<\/code>, <code>LocalDateTime<\/code> ve <code>Instant<\/code> s\u0131n\u0131flar\u0131, farkl\u0131 ihtiya\u00e7lar i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015ft\u0131r:<\/p>\n<ul>\n<li><strong><code>LocalDate<\/code>:<\/strong> Yaln\u0131zca tarih bilgisi gerektiren durumlar (do\u011fum g\u00fcnleri, tatiller).<\/li>\n<li><strong><code>LocalDateTime<\/code>:<\/strong> Zaman dilimi bilgisi olmadan tarih ve saat bilgisi gerektiren durumlar (yerel olaylar, log kay\u0131tlar\u0131).<\/li>\n<li><strong><code>Instant<\/code>:<\/strong> Evrensel, zaman diliminden ba\u011f\u0131ms\u0131z bir anl\u0131k zaman noktas\u0131 (sistemler aras\u0131 ileti\u015fim, veritaban\u0131 zaman damgalar\u0131).<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"Java 8 Tarih ve Zaman API&#8217;si: LocalDate, LocalDateTime ve Instant\nJava&#8217;n\u0131n eski tarih ve zaman API&#8217;si (java.util.Date ve java.util.Calendar), geli","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1408],"tags":[],"class_list":{"0":"post-38559","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-java","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java 8 Tarih ve Zaman API&#039;si: LocalDate, LocalDateTime ve Instant - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java 8 Tarih ve Zaman API&#039;si: LocalDate, LocalDateTime ve Instant\" \/>\n<meta property=\"og:description\" content=\"Java 8 Tarih ve Zaman API&#039;si: LocalDate, LocalDateTime ve Instant Java&#039;n\u0131n eski tarih ve zaman API&#039;si (java.util.Date ve java.util.Calendar), geli\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-02T20:41:26+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Java 8 Tarih ve Zaman API&#8217;si: LocalDate, LocalDateTime ve Instant\",\"datePublished\":\"2026-02-02T20:41:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/\"},\"wordCount\":1296,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Java\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/\",\"name\":\"Java 8 Tarih ve Zaman API'si: LocalDate, LocalDateTime ve Instant - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-02T20:41:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java 8 Tarih ve Zaman API&#8217;si: LocalDate, LocalDateTime ve Instant\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Java 8 Tarih ve Zaman API'si: LocalDate, LocalDateTime ve Instant - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/","og_locale":"tr_TR","og_type":"article","og_title":"Java 8 Tarih ve Zaman API'si: LocalDate, LocalDateTime ve Instant","og_description":"Java 8 Tarih ve Zaman API'si: LocalDate, LocalDateTime ve Instant Java'n\u0131n eski tarih ve zaman API'si (java.util.Date ve java.util.Calendar), geli","og_url":"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-02T20:41:26+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Java 8 Tarih ve Zaman API&#8217;si: LocalDate, LocalDateTime ve Instant","datePublished":"2026-02-02T20:41:26+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/"},"wordCount":1296,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Java"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/","url":"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/","name":"Java 8 Tarih ve Zaman API'si: LocalDate, LocalDateTime ve Instant - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-02T20:41:26+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/java-8-tarih-ve-zaman-apisi-localdate-localdatetime-ve-instant\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Java 8 Tarih ve Zaman API&#8217;si: LocalDate, LocalDateTime ve Instant"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38559"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38559\/revisions"}],"predecessor-version":[{"id":38560,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38559\/revisions\/38560"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}