java.time.Month
1 java.time.Month介绍
在Java中,Month是代表一年中12个月的枚举。除文本枚举名称外,每年的每个月都有一个int值。
2 java.time.Month声明
我们来看一下java.time.Month的声明。
public enum Month extends Enum<Month> implements TemporalAccessor, TemporalAdjuster
3 java.time.Month方法
方法 | 描述 |
---|---|
Temporal adjustInto(Temporal temporal) | 将指定的时间对象调整为与该对象的月份相同。 |
int firstDayOfYear(boolean leapYear) | 获取与本月第一天相对应的年份。 |
Month firstMonthOfQuarter() | 获取与该季度的第一个月相对应的月份。 |
static Month from(TemporalAccessor temporal) | 从时间对象获取Month的实例。 |
int get(TemporalField field) | 从一年中的这个月中获取指定字段的值作为一个整数。 |
String getDisplayName(TextStyle style, Locale locale) | 获取文本表示形式,例如“ Jan”或“ December”。 |
long getLong(TemporalField field) | 从一年的这个月中获取指定字段的值。 |
int getValue() | 获取当月int值。 |
boolean isSupported(TemporalField field) | 检查是否支持指定的字段。 |
int length(boolean leapYear) | 获取本月的天数。 |
int maxLength() | 获取本月的最大长度(天)。 |
int minLength() | 获取以天为单位的该月的最小长度。 |
Month minus(long months) | 返回一年中的月份,即该月份之前的指定月份。 |
static Month of(int month) | 从int值获取Month的实例。 |
Month plus(long months) | 返回一年中的月份,该月份是该月份之后指定的季度数。 |
<R> R query(TemporalQuery<R> query) | 使用指定的查询查询此偏移量。 |
ValueRange range(TemporalField field) | 获取指定字段的有效值范围。 |
static Month valueOf(String name) | 返回具有指定名称的此类型的枚举常量。 |
static Month[] values() | 以声明顺序返回包含此枚举类型的常量的数组。 |
4 java.time.Month案例1
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
import java.time.*;
import java.time.temporal.*;
public class MonthEnumExample1 {
public static void main(String[] args) {
Month month = Month.valueOf("January".toUpperCase());
System.out.printf("For the month of %s all Sunday are:%n", month);
LocalDate localdate = Year.now().atMonth(month).atDay(1).
with(TemporalAdjusters.firstInMonth(DayOfWeek.SUNDAY));
Month mi = localdate.getMonth();
while (mi == month) {
System.out.printf("%s%n", localdate);
localdate = localdate.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));
mi = localdate.getMonth();
}
}
}
输出结果为:
For the month of JANUARY all Sunday are:
2017-01-01
2017-01-08
2017-01-15
2017-01-22
2017-01-29
5 java.time.Month案例2
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
import java.time.*;
public class MonthEnumExample2 {
public static void main(String[] args) {
Month month = Month.from(LocalDate.now());
System.out.println(month.getValue());
System.out.println(month.name());
}
}
输出结果为:
1
JANUARY
热门文章
优秀文章