【问题标题】:Using the calendar class in java to get the DAY OF THE WEEK?使用java中的日历类来获取星期几?
【发布时间】:2016-09-04 16:42:07
【问题描述】:

嘿,我一直在尝试通过在 java 中使用 Calendar 类来获取星期几,但它似乎并没有真正起作用。它通常会关闭一天或真的关闭。另外,2016年是闰年,java知道吗?到目前为止,这是我的代码

import java.util.Calendar;

public class Main {

    public static void main(String[] args) {


        Calendar cal= Calendar.getInstance ();
        cal.set(2013 - 1900, 2, 27);
        switch (cal.get(Calendar.DAY_OF_WEEK)) {
        case 1:
            System.out.println("Sun");
            break;
        case 2:
            System.out.println("Mon");
            break;
        case 3:
            System.out.println("Tues");
            break;
        case 4:
            System.out.println("Weds");
            break;
        case 5:
            System.out.println("Thurs");
            break;
        case 6:
            System.out.println("Fri");
            break;
        case 7:
            System.out.println("Sat");
            break;
        }

    }
}

谢谢大家帮忙

【问题讨论】:

  • 您应该改用新的java.time API。与旧 API 相比,它更易于使用且惊喜更少。
  • 您是否尝试过打印出cal 的值来查看您的假设是否正确?您是否仔细阅读了 CalendarGregorianCalendar 类的 Javadoc?这些是您应该在寻求帮助之前学习执行的基本故障排除步骤。基本的好奇心和实验意愿是成为软件开发人员的基础。

标签: java debugging time calendar


【解决方案1】:

java.time

避免麻烦的旧日期时间类。现在被 java.time 类所取代。 DayOfWeek 枚举及其 getDisplayName 是这里的关键。闰年被处理,是的。

DayOfWeek::getDisplayName 方法将当天的名称翻译成由Locale 指定的任何人类语言,例如Locale.USLocale.CANADA_FRENCH

Locale 确定 (a) 用于翻译日期名称、月份名称等的人类语言,以及 (b) 决定缩写、大写、标点符号等问题的文化规范。

String output = LocalDate.of( 2016 , 2 , 27 ).getDayOfWeek().getDisplayName( TextStyle.SHORT_STANDALONE , Locale.CANADA_FRENCH );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    相关资源
    最近更新 更多