在Java中使用 SimpleDateFormat 类查找星期几
给定日、月和年,任务是使用Java中的 SimpleDateFormat 类查找对应的星期几。
例子
Input: 11-08-2020
Output: Tuesday
Explanation: The day corresponding to the date 11-08-2020 is tuesday.
Input: 17-08-2006
Output: Thursday
Explanation: The day corresponding to the date 17-08-2006 is thursday.
方法:
- 以整数类型输入来自用户的日期、月份和年份。
- 检查日期、月份和年份是否在要求的范围内。如果不是,则引发错误消息。
- 使用 SimpleDateFormat 类将输入转换为 Date 类型。
- 使用 SimpleDateFormat 类将日期格式化为一周中的相应日期。
- 打印一周中的相应日期。
注意:如果您想要当天的全名(例如:星期日、星期一),请使用“EEEE”。如果您想要更短的日期名称(例如:Sun、Mon),请使用“EE”。
下面是上述方法的实现:
Java
// Java program for the above approach
import java.util.Date;
import java.text.SimpleDateFormat;
import java.text.ParseException;
public class GFG {
public void findDay(int day, int month, int year)
{
String dayOfWeek = "";
boolean wrongDate = false;
if (day < 1 || day > 31) {
dayOfWeek += "Give day in range. ";
wrongDate = true;
}
if (month < 1 || month > 12) {
dayOfWeek += "Give month in range. ";
wrongDate = true;
}
if (year <= 0) {
wrongDate = true;
dayOfWeek += "Give year in range.";
}
if (!wrongDate) {
SimpleDateFormat dateFormatter
= new SimpleDateFormat("dd-MM-yyyy");
String dateString
= day + "-" + month + "-" + year;
try {
// Parse the String representation of date
// to Date
Date date = dateFormatter.parse(dateString);
dayOfWeek
= "Day of week on " + dateString + " : "
+ new SimpleDateFormat("EEEE").format(
date);
}
catch (ParseException e) {
e.printStackTrace();
}
}
System.out.println(dayOfWeek);
}
// Driver Code
public static void main(String arg[])
{
GFG gfg = new GFG();
gfg.findDay(17, 8, 2006);
}
}
输出
Day of week on 17-8-2006 : Thursday