26 Eylül 2017 Salı

YearMonth Sınıfı

Giriş
Bu sınıf saat dilimi bilmez. Bu sınıf ile Month Sınıfı benzeşiyorlar.

Bu sınıf LocalDate'ten farklı olarak gün bilgisine sahip değildir. Gün bilgisini atayıp LocalDate elde etmek için at() metodu kullanılır.

Bu sınıf value-based bir sınıf. Açıklaması şöyle
This is a value-based class; use of identity-sensitive operations (including reference equality (==), identity hash code, or synchronization) on instances of YearMonth may have unpredictable results and should be avoided
at metodu
Örnek
Şöyle yaparız.
YearMonth lastDayOfPreviousMonth = yearMonth.atDay(1).minusDay(1);
Örnek
Şöyle yaparız.
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("MM-yyyy");
YearMonth ym = YearMonth.parse("09-2017", fmt);
LocalDate dt = ym.atDay(1); // choose whatever day you want
atEndOfMonth metodu
Şöyle yaparız.
YearMonth firstDayOfNextMonth = yearMonth.atEndOfMonth().plusDays(1);
format metodu
Şöyle yaparız.
Locale locale = Locale.CANADA_FRENCH;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern ( "MMM yyyy" , locale );
String output = yearMonth.format ( formatter );
Çıktı olarak fransızca ay ve yıl alırız.
déc. 2015
getMonth metodu
Month nesnesi döner. Şöyle yaparız.
String monthName = yearMonth.getMonth()
getYear metodu
int döner. Şöyle yaparız.
yearMonth.getYear()
minusMonths metodu
Şöyle yaparız.
YearMonth yearMonth = YearMonth.now().minusMonths(1);
now metodu
Şöyle yaparız.
ZoneId zoneId = ZoneId.of( "America/Montreal" );
YearMonth yearMonth = YearMonth.now( zoneId );

Hiç yorum yok:

Yorum Gönder