利用Java计算某个日期是星期几

计算某个日期是星期几可以使用Java自带的Calendar类来实现。下面是一些示例代码,演示如何获取某个日期对应的星期。

示例一:获取当前日期所对应的星期

import java.util.Calendar;

public class DateOfWeek {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        int weekday = calendar.get(Calendar.DAY_OF_WEEK);
        String weekdayString = getWeekdayString(weekday);
        System.out.println("Today is " + weekdayString);
    }

    /**
     * 获取星期的字符串表示
     * @param weekday 星期数字表示
     * @return 星期的字符串表示
     */
    private static String getWeekdayString(int weekday) {
        switch (weekday) {
            case Calendar.SUNDAY:
                return "Sunday";
            case Calendar.MONDAY:
                return "Monday";
            case Calendar.TUESDAY:
                return "Tuesday";
            case Calendar.WEDNESDAY:
                return "Wednesday";
            case Calendar.THURSDAY:
                return "Thursday";
            case Calendar.FRIDAY:
                return "Friday";
            case Calendar.SATURDAY:
                return "Saturday";
            default:
                throw new IllegalArgumentException("Invalid weekday value: " + weekday);
        }
    }
}

运行上述程序,输出结果如下:

Today is Friday

示例二:计算某个日期是星期几

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateOfWeek {
    public static void main(String[] args) throws Exception {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
        Date date = dateFormat.parse("20211111"); // 获取2021年11月11日对应的Date对象
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);  // 设置Calendar对象为该日期
        int weekday = calendar.get(Calendar.DAY_OF_WEEK);
        String weekdayString = getWeekdayString(weekday);
        System.out.println("2021-11-11 is " + weekdayString);
    }

    /**
     * 获取星期的字符串表示
     * @param weekday 星期数字表示
     * @return 星期的字符串表示
     */
    private static String getWeekdayString(int weekday) {
        switch (weekday) {
            case Calendar.SUNDAY:
                return "Sunday";
            case Calendar.MONDAY:
                return "Monday";
            case Calendar.TUESDAY:
                return "Tuesday";
            case Calendar.WEDNESDAY:
                return "Wednesday";
            case Calendar.THURSDAY:
                return "Thursday";
            case Calendar.FRIDAY:
                return "Friday";
            case Calendar.SATURDAY:
                return "Saturday";
            default:
                throw new IllegalArgumentException("Invalid weekday value: " + weekday);
        }
    }
}

运行上述程序,输出结果如下:

2021-11-11 is Thursday

需要注意的是,在示例二中,我们使用了SimpleDateFormat类将字符串格式化为Date对象,然后再将Date对象转换为Calendar对象,再获取对应的星期。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用Java计算某个日期是星期几 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java的Struts框架报错“NullSubscriptionException”的原因与解决办法

    当使用Java的Struts框架时,可能会遇到“NullSubscriptionException”错误。这个错误通常由以下原因之一起: 配置错误:如果配置文件中没有正确配置,则可能会出现此错误。在这种情况下,需要检查文件以解决此问题。 订阅名称:如果订阅名称不正确,则可能出现此错误。在这种情况下,需要检查订阅名称以解决此问题。 以下是两个实例: 例 1 如…

    Java 2023年5月5日
    00
  • Java内存泄漏的原因是什么?

    针对Java内存泄漏原因这一问题,我来详细讲解一下。 什么是Java内存泄漏? 首先,我们需要先了解什么是Java内存泄漏。Java内存泄漏指的是,虽然一些对象已经不再被程序所用,但是Java的垃圾回收器却无法回收这些对象的内存空间。这些没被回收的内存空间被占据,随着时间的推移内存空间将会越来越紧张,最终会导致程序的崩溃。 那么,Java内存泄漏的原因是什么…

    Java 2023年5月11日
    00
  • 什么是永久代和元空间?

    以下是关于永久代和元空间的完整使用攻略: 什么是永久代和元空间? 永久代和元空间都是Java虚拟机中用于存储类信息的区域。在Java 8,永久代是用于存储类信息的区域,而在Java 8及以后的版本中,永久代被元空间所取。空间是一种新的内存区域,它与永久代相比,具有更高的灵活性和更好的性能。 永代 永久代是Java虚机中用于存储类信息的区域,它的大小是固定的,…

    Java 2023年5月12日
    00
  • 关于Java中的IO流总结(推荐)

    关于Java中的IO流总结(推荐) 概述 在Java中,IO(Input/Output)流是通常用于读取和写入数据的方式。在Java中的IO包提供了很多实现,包括了输入/输出流、文件读取和写入、网络数据传输等。IO流以字节流和字符流两种形式存在,对应到Java中分别为InputStream/OutputStream和Reader/Writer。 IO流的分类…

    Java 2023年5月26日
    00
  • Java WebService 简单实例(附实例代码)

    Java WebService 是一种基于 Web 的远程调用技术,允许不同的应用程序通过互联网相互通信以完成特定的业务功能。本文将介绍如何快速入门 Java WebService,并提供一个简单的实例程序。 准备工作 在开始编写 WebService 之前,需要先准备好以下环境和工具: JDK:Java 开发环境 Eclipse:Java 开发工具 Tom…

    Java 2023年5月23日
    00
  • spring boot整合CAS Client实现单点登陆验证的示例

    介绍一下如何使用Spring Boot整合CAS Client实现单点登录验证。 准备工作 在maven或gradle中引入Spring Boot Cas Starter。 配置CAS Server地址。 示例一:配置客户端登录方式 配置CAS Client,添加以下配置: cas: server-url-prefix: https://cas.server…

    Java 2023年5月20日
    00
  • Hibernate核心思想与接口简介

    Hibernate是一个Java平台的ORM(对象关系映射)框架,它的核心思想是将Java对象映射到关系型数据库中的表中,并且支持数据库的操作以及增删改查等操作,从而简化了Java应用程序对数据库的编程工作。 Hibernate的接口包括Session、Sessionfactory、Transaction等,其中Session是Hibernate的核心接口,…

    Java 2023年5月19日
    00
  • Java多线程程序中synchronized修饰方法的使用实例

    下面是Java多线程程序中synchronized修饰方法的使用实例的详细攻略。 什么是多线程和synchronized? 多线程是指在同一时间内,多个线程同时执行,每个线程负责执行其中一部分代码,以达到加速程序运行的目的。 synchronized是Java中实现线程同步的关键字,它可以用来修饰方法或对象。当一个方法或一个对象被synchronized关键…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部