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
Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.
使用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