Giriş
Şu satırı dahil ederiz.
- Saat bilmediği için 2015-01-01 12:00:00 gibi bir değer gösteremez.
Şu satırı dahil ederiz.
import java.time.LocalDate;
Açıklaması şöyle.LocalDate holds only the date part without a time-zone in the ISO-8601 calendar system.- Sadece tarihi bilir. Saati ve zaman dilimini bilmez. Yani 2015-01-01 gibi bir değer gösterir.
- Saat bilmediği için 2015-01-01 12:00:00 gibi bir değer gösteremez.
Kullanım
of metodunu kullanırken rakam yerine enum kullanmak daha iyi
of metodunu kullanırken rakam yerine enum kullanmak daha iyi
Örnek
Şöyle yaparız
LocalDate.now(); // 2022-10-06
LocalDate.of(2022, Month.JANUARY, 1); // 2022-01-01
LocalDate.of(2022, 1, 1); // 2022-01-01
LocalDate.of(1,9,32); // Error
datesUntil metodu
Java 9 ile geliyor. İki LocalDate arasındaki farkı Stream olarak verir.
Örnek
Şöyle yaparız.
LocalDate preDate = ...;
LocalDate endExclusive = ...;
List<LocalDate> dateList
= preDate.datesUntil(endExclusive).collect(Collectors.toList());
System.out.println(dateList);
Çıktı olarak şunu alırız.Örnek[2018-06-20, 2018-06-21]
2020 yılında hafta için günleri bulmak için şöyle yaparız.
Set<DayOfWeek> weekend = EnumSet.of(DayOfWeek.SATURDAY, DayOfWeek.SUNDAY);
LocalDate.of(2019, Month.JANUARY, 1)
.datesUntil(LocalDate.of(2020, Month.DECEMBER, 31), Period.ofDays(1))
.filter(x -> !weekend.contains(x.getDayOfWeek()))
.forEachOrdered(System.out::println);
format metoduBelirtilen formatta string'e çevirir.
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
LocalDate date = ...;
System.out.println(date.format(formatter));
isAfter metoduŞöyle yaparız
LocalDate date = LocalDate.of(2005, 1, 1); // Assign date
LocalDate today = LocalDate.now();
if(date.isAfter(today){...}
isBefore metoduŞöyle yaparız
LocalDate date = LocalDate.of(2005, 1, 1); // Assign date
LocalDate today = LocalDate.now();
if(date.isBefore(today){...}
isLeapYear metodu
Açıklaması şöyle. Yıl = 0 için true döner.Örnek verIt is equivalent to the proleptic Gregorian calendar system, in which today's rules for leap years are applied for all time. For most applications written today, the ISO-8601 rules are entirely suitable. However, any application that makes use of historical dates, and requires them to be accurate will find the ISO-8601 approach unsuitable.
lenghtOfMonth metodu
Örnek ver
minusDays metodu
Örnek ver
minusYears
Belirtilen yılı çıkartır.
LocalDate dateToCheck = LocalDate.now().minusYears(20);
now metodu
Şimdiki zamanı verir.
LocalDate today = LocalDate.now();
Gerekirse zaman dilimi ile kullanılabilir.
parse metodu
DateTimeFormatter nesnesinde belirtilen formata göre parse eder
Örnek
Şöyle yaparız.
Şöyle yaparız.
plusDays metodu
Belirtilen günü ekler.
ÖrnekLocalDate today = LocalDate.now( ZoneId.of( "America/Montreal" ) );
of metodu
Belirtilen zamana göre nesne oluşturur.LocalDate date = LocalDate.of(2005, 1, 1);
DateTimeFormatter nesnesinde belirtilen formata göre parse eder
Örnek
Şöyle yaparız.
String str = "01/01/2015";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
LocalDate dateTime = LocalDate.parse(str, formatter);
ÖrnekŞöyle yaparız.
String input = "05/30/2018" ;
DateTimeFormatter f = DateTimeFormatter.ofPattern( "MM/dd/uuuu" ) ;
LocalDate ld = LocalDate.parse( input , f ) ;
plus metodu
LocalDate plus metodu Ptifall yazısına taşıdım.plusDays metodu
Belirtilen günü ekler.
Şöyle yaparız.
LocalDate dateToCheck = LocalDate.now().plusDays(1);
Örnek
Elimizde şöyle bir kod olsun.
Belirtilen ayı ekler.
LocalDate'i ileri götürmek çok kolay.
ISO 8601 formatında çıktı verir.
Setter gibi düşünülmeli. Sadece belirtilen alana belirtilen değeri atar. Diğer alanlar değişmez.
Örnek
Şöyle yaparız.
Setter gibi düşünülmeli. Sadece gün alanına belirtilen değeri atar. Diğer alanlar değişmez.
withMonth metodu
Setter gibi düşünülmeli. Sadece ay alanına belirtilen değeri atar. Diğer alanlar değişmez.
Elimizde şöyle bir kod olsun.
LocalDate birthA = LocalDate.of(1965, Month.SEPTEMBER, 27);
LocalDate eventA = LocalDate.of(1992, Month.MAY, 9);
Şöyle yaparız.LocalDate halfA = eventA.plusDays(ChronoUnit.DAYS.between(birthA, eventA));
plusMonths metoduBelirtilen ayı ekler.
LocalDate localDate = LocalDate.now();
localDate.plusMonths(numberOfMonths);
plusYears metoduLocalDate'i ileri götürmek çok kolay.
LocalDate.now().plusYears(1)
toString metoduISO 8601 formatında çıktı verir.
with metoduThe output will be in the ISO-8601 format uuuu-MM-dd.
Setter gibi düşünülmeli. Sadece belirtilen alana belirtilen değeri atar. Diğer alanlar değişmez.
Örnek
Şöyle yaparız.
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yy");
LocalDate end = LocalDate.parse("30-09-20", formatter)
.plusMonths(3) // add three months to your date
.with(TemporalAdjusters.lastDayOfMonth()); // with the last day of the month
withDayOfMonth metoduSetter gibi düşünülmeli. Sadece gün alanına belirtilen değeri atar. Diğer alanlar değişmez.
withMonth metodu
Setter gibi düşünülmeli. Sadece ay alanına belirtilen değeri atar. Diğer alanlar değişmez.
Hiç yorum yok:
Yorum Gönder