
java如何得出今天是星期几
用户关注问题
我想用Java代码来确定当天是星期几,应该使用哪些类和方法?
使用Java的Calendar或LocalDate获取星期几
可以通过Java的Calendar类调用get(Calendar.DAY_OF_WEEK)方法获取当前星期,其中返回值是一个1到7的整数,分别代表星期天到星期六。另外,也可以使用Java 8引入的LocalDate类,通过getDayOfWeek()方法获得DayOfWeek枚举,再调用getValue()来得到星期几的数值。示例代码如下:
使用Calendar:
Calendar calendar = Calendar.getInstance();
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); // 1=星期日,7=星期六
使用LocalDate:
LocalDate today = LocalDate.now();
DayOfWeek dayOfWeek = today.getDayOfWeek();
int dayValue = dayOfWeek.getValue(); // 1=星期一,7=星期日
在Java程序里得到一个表示星期几的数字后,我想显示中文的星期名称,该怎么做?
通过自定义映射数组实现数字到中文星期的转换
Java获得的数字通常是1到7,用来表示星期日到星期六或星期一到星期日。可以建立一个字符串数组,将每个数字对应的中文星期名称存储在数组中,通过索引访问即可。例如:
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1; // Calendar.DAY_OF_WEEK 1代表星期日
String chineseWeekDay = weekDays[dayOfWeek];
若使用LocalDate,因getDayOfWeek().getValue()以1代表星期一,则对应的中文数组索引应调整。
我想写一个简单的Java程序显示'今天是星期几',有什么快速实现的方法?
使用Java 8的LocalDate和DayOfWeek快速实现星期几显示
Java 8提供了非常便捷的日期时间API。只需几行代码即可完成:
import java.time.LocalDate;
import java.time.DayOfWeek;
public class TodayWeekDay {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
DayOfWeek dayOfWeek = today.getDayOfWeek();
String[] chineseWeekDays = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"};
System.out.println("今天是" + chineseWeekDays[dayOfWeek.getValue() - 1]);
}
}
这段代码可直接打印当前中文星期名称,简单且易懂。