Java 以短格式获取星期几

Java get date of week in short form

您好,我有一个 java 应用程序,我想在其中计算日期字符串是否有星期几。

//create the date variable
DateFormat dppomonth = new SimpleDateFormat("MMM dd ''yy");

//find if the string contains "Fri"
private void dppomonthActionPerformed(java.awt.event.ActionEvent evt) {
    if(!dppomonth.getDate().toString().contains("Fri")){
        JOptionPane.showMessageDialog(this,"Please Select Friday Only...");
        dppomonth.setDate(null);
    }
} 

getDate() 函数已被弃用如何查找字符串是否包含 "Fri"

if(!dppomonth.getDate().toString().contains("Fri")) 

getDate() 方法已弃用。

您可以像这样使用 Calendar class:

    DateFormat dppomonth = new SimpleDateFormat("MMM dd ''yy");
   if (dppomonth.getCalendar().get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY){
}

使用Calendar进行这样的检查

Date date = ...;
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);

if (dayOfWeek != Calendar.FRIDAY) {
    System.out.println("Please Select Friday Only...");
}

我想你在找这样的东西(问题不是很清楚):

    DateTimeFormatter dateFormatter
            = DateTimeFormatter.ofPattern("MMM d ''uu", Locale.ENGLISH);
    String dateString = "Apr 5 '18";
    LocalDate date = LocalDate.parse(dateString, dateFormatter);
    if (! date.getDayOfWeek().equals(DayOfWeek.FRIDAY)) {
        JOptionPane.showMessageDialog(this, "Please Select Friday Only...");
    }

正如代码所示,它确实显示了消息,因为 2018 年 4 月 5 日是星期四。

由于您正在使用 Java 8(即使您没有使用),我建议您避免使用 SimpleDateFormat。它不仅早已过时,而且出了名的麻烦。相反,我使用 java.time,现代 Java 日期和时间 API。使用它会更好。

Link: Oracle tutorial: Date Time 解释如何使用 java.time.