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 = {“星期六”,“星期日”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”};

版权声明:本文为kelekele111原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。