Java获取今天是星期几

Java获取今天是星期几

package com.Test;

import java.util.Calendar;

public class Test {
          
   

    public static void main(String[] args) {
          
   
       String[] weekDays = {
          
   "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
        Calendar calendar=Calendar.getInstance();
        System.out.println("今天是中国的"+weekDays[calendar.get(Calendar.DAY_OF_WEEK)-1]);
    }
}

输出结果

今天是中国的星期一

1.详解:

weekDays[calendar.get(Calendar.DAY_OF_WEEK)-1]

一、为什么要在weekDays数组中减一?

因为calendar.get(Calendar.DAY_OF_WEEK)获取到的为今天是这一周的第几天,而代码是外国人编写的,在国外一周的开始不是星期一
而是星期天,所以如果今天是中国的星期一,但是calendar.get(Calendar.DAY_OF_WEEK)获取的却是2.

2.实例详解:

package com.Test;

import java.util.Calendar;

public class Test {
          
   

    public static void main(String[] args) {
          
   
       String[] weekDays = {
          
   "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
       // String[] weekDays = {"星期六","星期日", "星期一", "星期二", "星期三", "星期四", "星期五"};
        Calendar calendar=Calendar.getInstance();
        System.out.println("今天是中国的"+weekDays[calendar.get(Calendar.DAY_OF_WEEK)-1]);
        System.out.println("得到外国的今天是这一周的第"+calendar.get(Calendar.DAY_OF_WEEK)+"天");
    }
}
    输出一:
今天是中国的星期一
    输出二:
得到外国的今天是这一周的第2天 //这是不减一的输出结果

3.如果编写不想减一,还想正确输出中国今天是星期几,则需要改变WeekDays数组的顺序,将星期六放在最前面。(不要忘记数组是从0开始的,所以要往后推一个数)

    例如:String[] weekDays = {“星期六”,“星期日”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”};
经验分享 程序员 微信小程序 职场和发展