Java程序:显示日历年份中工作日的名称


一周有5个工作日,分别是星期一、星期二、星期三、星期四和星期五。其余两天,即星期六和星期日,构成周末。在本文中,我们将学习如何编写一个Java程序来显示日历年份中工作日的名称。

使用DateFormatSymbols类

Java标准库的java.text包包含DateFormatSymbols类,该类提供用于检索和设置以下日期和时间符号的方法:

  • 月份和日期名称及缩写

  • 星期几名称及缩写

  • 纪元名称

  • AM/PM字符串

  • 时区名称和缩写

DateFormatSymbols默认情况下使用当前默认区域设置的特定于区域设置的符号。但是,您可以使用不同的区域设置或任何上述字段的自定义符号数组创建DateFormatSymbols的实例。我们将使用此类的getWeekdays()方法,该方法返回一个工作日名称数组。

示例

下面给出一个显示日历年份中工作日名称的Java程序:

import java.text.DateFormatSymbols;

public class Weekdays {
   public static void main(String[] args) {
      DateFormatSymbols symbols = new DateFormatSymbols();
      String[] weekdays = symbols.getWeekdays();
      for (int i = 2; i <= 6; i++) {
         System.out.println(weekdays[i]);
      }
   }
}

执行代码后,将产生以下结果:

Monday
Tuesday
Wednesday
Thursday
Friday

使用Calendar类

在这种方法中,我们首先初始化Calendar类,然后使用for循环迭代星期一到星期五的工作日。对于每一天,我们设置Calendar对象的星期几,并以默认区域设置检索该天的全名。

Java标准库的java.util包包含Calendar类,该类提供用于检索或设置日期或时间的各种字段的方法,例如年份、月份、日期、小时、分钟、秒和毫秒。

示例

在这个Java程序中,我们使用Calendar类来显示工作日的名称。

import java.util.Calendar;
import java.util.Locale;

public class Weekdays {
   public static void main(String[] args) {
      Calendar calendar = Calendar.getInstance();
      for (int i = Calendar.MONDAY; i <= Calendar.FRIDAY; i++) {
         calendar.set(Calendar.DAY_OF_WEEK, i);
         String name = calendar.getDisplayName(
            Calendar.DAY_OF_WEEK, Calendar.LONG, Locale.getDefault());
            System.out.println(name);
      }
   }
}

执行代码后,将产生以下结果:

Monday
Tuesday
Wednesday
Thursday
Friday

使用DayOfWeek枚举

在这种方法中,使用DayOfWeek枚举迭代星期几,并以默认区域设置打印每一天的全名,但仅限于前五天,即星期一到星期五。在这里,我们使用getDisplayName()方法和TextStyle.FULL来获取每一天的全名。

示例

让我们看看实际实现:

import java.time.DayOfWeek;
import java.time.format.TextStyle;
import java.util.Locale;

public class Weekdays {
   public static void main(String[] args) {
      int c=0;
      for (DayOfWeek day : DayOfWeek.values()) {
         if(c<5)
         {
            String name = day.getDisplayName(TextStyle.FULL, Locale.getDefault());
            System.out.println(name);
            c++;
         }
      }
   }
}

执行代码后,将产生以下结果:

Monday
Tuesday
Wednesday
Thursday
Friday

更新于:2024年9月30日

550次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.