Java MonthDay类

Java MonthDay类是一个不可变的日期时间对象,表示月份和月份中的某一天的组合。它继承自Object类并实现了Comparable接口。

Java MonthDay类声明

让我们来看一下java.time.MonthDay类的声明。

public final class MonthDay extends Object   
implements TemporalAccessor, TemporalAdjuster, Comparable<MonthDay>, Serializable

Java MonthDay类的方法

MethodDescription
LocalDate atYear(int year)它用于将月-日与年结合起来创建 LocalDate。
String format(DateTimeFormatter formatter)它用于使用指定的格式化程序来格式化这个月日。
int get(TemporalField field)它用于从这个月-日获取指定字段的值作为一个 int。
boolean isValidYear(int year)它用于检查年份是否对该月-日有效。
static MonthDay now()它用于从默认时区的系统时钟获取当前月日。
static MonthDay of(int month, int dayOfMonth)它用于获取 MonthDay 的实例。
ValueRange range(TemporalField field)它用于获取指定字段的有效值范围。
int getDayOfMonth()它获取日期字段。
Month getMonth()它使用 Month 枚举获取年月字段。
int getMonthValue()它获取从 1 到 12 的月份字段。
int hashCode()它返回这个月-日的哈希码。
boolean isAfter(MonthDay other)它检查这个月日是否在指定的月日之后。
static MonthDay now()它从默认时区的系统时钟获取当前月日。
static MonthDay now(Clock clock)它从指定的时钟获取当前月日。
static MonthDay of(int month, int dayOfMonth)它获取 MonthDay 的实例。
R query(TemporalQuery query)它使用指定的查询来查询这个月-日。
ValueRange range(TemporalField field)它获取指定字段的有效值范围。
String toString()它将这个月-日输出为字符串,例如 -12-03。
MonthDay with(Month month)它返回此 MonthDay 的副本,其中月份已更改。
MonthDay withDayOfMonth(int dayOfMonth)它返回此 MonthDay 的副本,其中日期已更改。
MonthDay withMonth(int month)它返回此 MonthDay 的副本,其中月份已更改。

Java MonthDay类示例

MonthDayExample1.java

import java.time.*;  
public class MonthDayExample1 {  
  public static void main(String[] args) {  
    MonthDay month = MonthDay.now();  
    LocalDate date = month.atYear(1994);  
    System.out.println(date);  
  }  
}  

输出:

1994-01-17

Java MonthDay类示例:isValidYear()

MonthDayExample2.java

import java.time.*;  
public class MonthDayExample2 {  
  public static void main(String[] args) {  
    MonthDay month = MonthDay.now();  
    boolean b = month.isValidYear(2012);  
    System.out.println(b);  
  }  
}  

输出:

true

Java MonthDay类示例:get()

MonthDayExample3.java

import java.time.*;  
import java.time.temporal.*;  
public class MonthDayExample3{  
  public static void main(String[] args) {  
    MonthDay month = MonthDay.now();  
    long n = month.get(ChronoField.MONTH_OF_YEAR);  
    System.out.println(n);  
  }  
}  

输出:

1

Java MonthDay类示例:range()

MonthDayExample4.java

import java.time.*;  
import java.time.temporal.*;  
public class MonthDayExample4 {  
  public static void main(String[] args) {  
    MonthDay month = MonthDay.now();  
    ValueRange r1 = month.range(ChronoField.MONTH_OF_YEAR);  
    System.out.println(r1);  
    ValueRange r2 = month.range(ChronoField.DAY_OF_MONTH);  
    System.out.println(r2);  
  }  
}  

输出:

1 - 12
1 - 31

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想