Java 用于以短格式显示日历年份的月份名称

Java 用于以短格式显示日历年份的月份名称

一年有12个月,它们的名称分别是:一月、二月、三月、四月、五月、六月、七月、八月、九月、十月、十一月、十二月。这些是月份的完整名称,有多种方式可以表示它们,如短格式、完整格式、MM或2个整数格式。在本文中,我们将展示如何使用Java以短格式显示日历年份的月份名称。有许多方法可以实现,包括以下方法:

  • 使用String数组

  • 使用java.time.Month枚举

  • 使用java.text.DateFormatSymbols类

  • 使用Map

  • 使用SimpleDateFormat类

  • 使用java.util.Calendar类

现在让我们来看一下它们的实现。

方法1: 使用String数组

这也被称为基础方法,我们使用包含月份短格式名称的String数组,这些名称硬编码为其元素。然后使用for循环来遍历数组并显示所有月份。

示例

public class MonthNames {
   public static void main(String[] args) {
      String[] short_format_months = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
      System.out.println("Short format of calendar months:");
      for (String month : short_format_months) {
         System.out.println(month);
      }
   }
}

输出

Short format of calendar months:
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec

方法2:使用java.time.Month枚举

java.time.Month枚举是java.time包中的一个枚举,它在Java 8中被引入。它代表了一年中的12个月份,并提供一些有用的方法来处理Java中的月份。借助枚举,我们可以获取月份的简短格式名称,并使用for循环来显示每个月份的名称。

示例

import java.time.Month;
public class MonthNames2 {
   public static void main(String[] args) {
      System.out.println("Short format of calendar months:");
      for (Month month : Month.values()) {
         System.out.println(month.toString().substring(0,1)+""+(month.toString().substring(1,3).toLowerCase()));
      }
   }
}

输出

Short format of calendar months:
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec

方法3:使用java.text.DateFormatSymbols类

Java.text.DateFormatSymbols类是一个内置的Java库,提供了访问日期和时间格式化中使用的符号的功能,例如月份名称、星期几名称和上午/下午字符串。它允许根据指定的区域设置以不同的区域设置格式化日期和时间。

DateFormatSymbols类提供了检索各种形式的月份名称(如全名、缩写名和独立名称)的方法。它还提供了检索星期几名称和其他用于日期和时间格式化的符号的方法。

当处理本地化的日期和时间数据时,这个类尤其有用,因为使用的格式和符号可能根据语言和地区而不同。

这里,我们将利用Java.text.DateFormatSymbols类获取短格式的月份名称,并使用for循环遍历该数组。

示例

import java.text.DateFormatSymbols;
public class MonthNames3 {
   public static void main(String[] args) {
      DateFormatSymbols symbols = new DateFormatSymbols();
      String[] months = symbols.getShortMonths();
      System.out.println("Short format of calendar months:");
      for (String month : months) {
         System.out.println(month);
      }
   }
}

输出

Short format of calendar months:
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec

方法4:使用Map

Map是java.util包中代表键值对集合的接口。它允许根据其相关联的键快速高效地查找值。

Map的工作方式类似于Set,只不过它存储的是键值对 – 一个作为键,另一个提供值。通过使用可以快速检索其相应值的键,Map成为了许多目的的高效数据结构。

此方法需要将月份的名称硬编码,并使用键检索。

示例

import java.util.HashMap;
import java.util.Map;

public class MonthNames4 {
   public static void main(String[] args) {
      Map<Integer, String> months = new HashMap<>();
      months.put(1, "Jan");
      months.put(2, "Feb");
      months.put(3, "Mar");
      months.put(4, "Apr");
      months.put(5, "May");
      months.put(6, "Jun");
      months.put(7, "Jul");
      months.put(8, "Aug");
      months.put(9, "Sep");
      months.put(10, "Oct");
      months.put(11, "Nov");
      months.put(12, "Dec");

      System.out.println("Short format of calendar months:");
      for (int i = 1; i <= 12; i++) {
         System.out.println(months.get(i));
      }
   }
}

输出

Short format of calendar months:
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec

方法5:使用SimpleDateFormat类

Java的SimpleDateFormat类位于java.text包中,允许开发人员根据指定的模式格式化和解析日期和时间。在使用SimpleDateFormat之前,必须首先定义一个模式字符串,该字符串指定了所需的日期/时间格式;该模式可以包括表示年、月、日、小时、分钟和秒的字母或符号。

定义了模式字符串后,可以利用SimpleDateFormat根据指定的模式将对象格式化或解析为一个Date对象。它提供了format(Date date)和parse(String source)等方法用于此目的。

示例

import java.text.SimpleDateFormat;
import java.util.Date;
public class MonthNames5 {
   public static void main(String[] args) {
      SimpleDateFormat formatter = new SimpleDateFormat("MMM");

      System.out.println("Short format of calendar months:");
      for (int i = 0; i < 12; i++) {
         Date date = new Date(0, i, 1);
         System.out.println(formatter.format(date));
      }
   }
}

输出

Short format of calendar months:
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec

方法6:使用java.util.Calendar类

java.util.Calendar类是一个重要的Java库,提供日期和时间处理功能。它可以用于对日期和时间进行计算和操作,如添加或减去天数、周数、月数或年数;还可以提取特定字段,如年、月或日。

Calendar允许您快速创建一个新的当前日期和时间实例,或将其设置为任意特定的时间。通过其多种方法,您可以在日历上执行各种操作,如设置字段或获取数据,计算日期之间的差异,或格式化用于显示的日期。

此类可以处理各种日历系统,例如公历和儒略历,同时支持不同的时区。遗憾的是,对于一些开发者来说,它的使用和理解可能会较为复杂;此外,它不是线程安全的。

示例

import java.util.Calendar;
import java.text.SimpleDateFormat;  
public class MonthNames6 {
   public static void main(String[] args) {
      String[] months = new String[12];
      Calendar cal = Calendar.getInstance();
      for (int i = 0; i < 12; i++) {
         cal.set(Calendar.MONTH, i);
         months[i] = new SimpleDateFormat("MMM").format(cal.getTime());
      }
      System.out.println("Short format of calendar months:");
      for (String month : months) {
         System.out.println(month);
      }
   }
}

输出

Short format of calendar months:
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec

结论

12个月可以用各种格式表示,其中短格式是其中一种方法。有6种方法可以以短格式显示日历年份的月份名称。每种方法都有各自的优缺点,选择方法取决于多个因素,例如代码可读性、性能和特定用例的要求。无论实施哪种方法,每个月的短格式都将保持完全相同。这个程序对于任何使用日期和时间数据的Java开发人员来说都是一项有用的技能。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程