利用DateFormat、Date、Calendar等相关类,编程实现如下功能

(1)用户输入2个日期,第一个日期用整数形式输入,把输入的整数设置为日历对象1的年月日的值。第二个日期以字符串形式输入,形如“2022-10-25”,并设置为日历对象2的年月日的值。将2个日期以“xx年xx月xx日”的格式输出。

(2)程序判断并输出第二个日期表示的时间是该年度第几周、第几天;

(3)判断并输出2个日期的大小关系,以及2个日期之间的间隔天数。

源代码:

CompareDate

package com.UtilityClass;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.*;

import java.util.logging.SimpleFormatter;

public class CompareDate {

    public static void main(String[] args) throws ParseException {

        Scanner scanner = new Scanner(System.in);

        System.out.println("输入第一个年,,日数据");

        System.out.print("输入年份:");

        short yearOne = scanner.nextShort();

        System.out.print("输入月份:");

        byte monthOne = scanner.nextByte();

        System.out.print("输入日期:");

        byte dayOne = scanner.nextByte();

        System.out.println("第一年日期为:"+yearOne+""+monthOne+""+dayOne+"");

        System.out.print("输入第二个年,,日数据:");

        //接收键盘输入的string类型的时间格式

        String x= scanner.next();

        //将字符串转为Date类型,格式不能乱写,要和字符串输入格式一致

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        //将数据格式传入到datetime

        Date date2 = sdf.parse(x);

        //指定日期以相应字符串输出格式

        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd");

        String datetime2 = sdf2.format(date2);

        System.out.println("第二年日期为:"+datetime2);

        //实例化日历对象

        Calendar calendar  = Calendar.getInstance();

        //将第一个输入的日期转为日期

        calendar.set(yearOne,monthOne-1,dayOne);

        //将日期转为date对象

        //将日期转为date对象,此时是有小时,分钟的

        Date date1= calendar.getTime();

        //date数据按string类型保存,只保存年,月,日

        String date=sdf.format(date1);

        //string类型变为date类型

        Date date3 = sdf.parse(date);

        //将星期一设为一个星期的第一天

        calendar.setFirstDayOfWeek(2);

        //将第二个日期转化为日历对象中

        calendar.setTime(date2);

        System.out.println(datetime2+"是该年的第"+calendar.get(Calendar.WEEK_OF_YEAR)+"");//获取是一年中的第几周

        System.out.println(datetime2+"是该年的第"+calendar.get(Calendar.DAY_OF_YEAR)+"");//获取是一年中的第几天

        if (date3.compareTo(date2)==0)

            System.out.println("两个日期的年、月、日完全相同,是同一天");

       else if (date3.compareTo(date2)>0){

           System.out.println("您输入的第一个日期大于第二个日期");

        long d=  (date3.getTime() - date2.getTime()) / (1000 * 60 * 60 * 24);

        System.out.println(yearOne+""+monthOne+""+dayOne+"日与"+datetime2+"相隔"+d+"");

       }

       else if (date3.compareTo(date2)<0) {

            System.out.println("您输入的第一个日期小于第二个日期");

            long d=  (date2.getTime() - date3.getTime()) / (1000 * 60 * 60 * 24);

            System.out.println(yearOne + "" + monthOne + "" + dayOne + "日与" + datetime2 + "相隔" + d + "");

        }

    }

}

实验运行截图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/197574.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

04、pytest运行多个测试用例

官方用例 目录结构 course_04 | |----subdir | | | |----sample03_test.py | | | |----test_sample04.py | |----sample02_test.py | |----test_sample01.py# content of test_sample01.pydef test_simple01():print("test simple01")assert 0# content of tes…

从零开始学习 JS APL(二):完整指南和实例解析

大家好&#xff01;这里是关于JS APL第二部分的知识点和笔记以及练习题 目录 大家好&#xff01;这里是关于JS APL第二部分的知识点和笔记以及练习题 我们分以下几点来说&#xff1a; 1、事件监听&#xff08;绑定&#xff09;&#xff1a; 目标&#xff1a;能够给 DOM元素…

@PostConstruct使用详解

一、简介 在Spring应用程序中启动时&#xff0c;有时需要在所有Bean都已加载&#xff0c;初始化并准备好之后执行某些自定义代码。这时&#xff0c;Spring提供了一个可用的方式&#xff0c;即使用PostConstruct注解。这个注解用于标记一个方法&#xff0c;这个方法将在Bean初始…

操作系统——进程同步

目录 一、信号量相关函数 1. 创建信号量集 2. 获取信号量集 3. 等待、通知信号量集 4. 控制信号量集 二、简单进程同步 1. 创建信号量集 2. P操作 3. V操作 4. 删除信号量集 5. 测试&#xff1a; 三、生产者与消费者 1. 创建、删除共享内存及信号量集 2. 单一生产…

基于Eclipse+Mysql+Tomcat开发的 教学评价管理系统

基于EclipseMysqlTomcat开发的 教学评价管理系统 项目介绍&#x1f481;&#x1f3fb; 随着教育信息化的发展&#xff0c;教学评价管理系统已经成为了学校、教育机构等场所必不可少的一部分。本项目是基于EclipseMysqlTomcat开发的一套教学评价管理系统&#xff0c;旨在帮助教育…

Android中的动态代理详解

在说动态代理之前&#xff0c;先来简单看下代理模式。代理是最基本的设计模式之一。它能够插入一个用来替代“实际”对象的“代理”对象&#xff0c;来提供额外的或不同的操作。这些操作通常涉及与“实际”对象的通信&#xff0c;因此“代理”对象通常充当着中间人的角色。 代…

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-C

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-C 目录 2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-C 需要环境或者解析可以私信 &#xff08;二&#xff09;A 模块基础设施设置/安全加固&#xff08;200 分&…

MacOS M芯片 安装MySQL5.7教程

目录 1. 安装Homebrew1.1 快速安装1.2 检查是否安装成功 2. 通过Homebrew安装MySQL2.1 搜索 MySQL 版本2.2 安装MySQL 5.72.3 位置说明2.4 启动MySQL服务2.5 检查服务状态2.6 设置环境变量2.7 重置密码 3. 测试安装 1. 安装Homebrew 1.1 快速安装 /bin/bash -c "$(curl …

【接口测试】POST请求提交数据的三种方式及Postman实现

1. 什么是POST请求&#xff1f; POST请求是HTPP协议中一种常用的请求方法&#xff0c;它的使用场景是向客户端向服务器提交数据&#xff0c;比如登录、注册、添加等场景。另一种常用的请求方法是GET&#xff0c;它的使用场景是向服务器获取数据。 2. POST请求提交数据的常见编…

uniapp微信小程序解决绘制polygon结束时的问题

目录 一、前言 二、实现思路 三、结束标绘具体代码 1、在地图展示工具栏处判断工具按钮是否展示v-if"item.isshow" 2、data声明的工具按钮中新增结束标绘按钮 3、在按钮的点击事件中新增结束标绘的判断 4、判断绘制的线段个数是否大于等于三条&#xff0c;当满…

Python小案例:打印10以内的素数

解析 1、利用循环控制范围&#xff08;1,100&#xff09; 2、通过循环判断素数 3、利用标记法进行打印素数 代码 #求1——100之间的素数 for i in range(2,101):is_primeNum Truefor j in range(2,i):if i%j 0:# print(f"{i}不是素数")is_primeNum Falseif is_…

LeedCode刷题---双指针问题

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 双指针简介 常见的双指针有两种形式&#xff0c;一种是对撞指针&#xff0c;一种是左右指针。 对撞指针:一般用于顺序结构中&…

手机充电器市场分析:预计2028年将达到82亿美元

在5G时代飞速发展的今天&#xff0c;随着科技的进步、应用的发展以及人们对以智能手机、平板电脑、智能穿戴设备为代表的智能终端设备追求越来越高的品质和功能&#xff0c;智能终端设备产品的更新换代的速度越来越快&#xff0c;这也将给全球智能终端充储电产品市场带来更大的…

Mybatis相关API(Sqlsession和sqlsessionFactroy)

代码 private static SqlSessionFactory sqlSessionFactory;static { ​try { // 获得核心配置文件String resource "mybits-config.xml"; // 加载核心配置文件InputStream inputStream Resources.getResourceAsStream(resource…

在OSPF中使用基本ACL过滤路由信息示例

1、ACL的基本原理。 ACL由一系列规则组成&#xff0c;通过将报文与ACL规则进行匹配&#xff0c;设备可以过滤出特定的报文。设备支持软件ACL和硬件ACL两种实现方式。 2、ACL的组成。 ACL名称&#xff1a;通过名称来标识ACL&#xff0c;就像用域名代替IP地址一样&#xff0c;更…

SQL数据库知识点总结归纳

前后顺序可以任意颠倒,不影响库中的数据关系 关系数据库的逻辑性强而物理性弱,因此关系数据库中的各条记录前后顺序可以任意颠倒,不影响库中的数据关系 一名员工可以使用多台计算机(1:m),而一台计算机只能被一名员工使用(1:1),所以员工和计算机两个实体之间是一对多…

【专题】【中值定理-还原大法】

1&#xff09;构造辅助函数 2&#xff09;罗尔定理&#xff1a; 闭区间连续&#xff0c;开区间可导 F&#xff08;a&#xff09;F&#xff08;b&#xff09; 3&#xff09;F‘&#xff08;ξ&#xff09;0&#xff0c;原命题得证 极限保号性&#xff1a;

FacetWP WordPress网站高级筛选过滤插件(含所有扩展)

点击阅读FacetWP WordPress网站高级筛选过滤插件原文 FacetWP WordPress网站高级筛选过滤插件向电子商务网站、资源库、搜索页面等添加分面搜索。FacetWP 的过滤元素&#xff08;称为 facets&#xff09;动态调整以适应用户输入。这有助于防止出现“未找到结果”&#xff0c;从…

hive数据库查看参数/hive查看当前环境配置

文章目录 一、hive查看当前环境配置命令 在一次hive数据库执行命令 set ngmr.exec.modecluster时&#xff0c;想看一下 ngmr.exec.mode参数原先的值是什么&#xff0c;所以写一下本篇博文&#xff0c;讲一下怎么查看hive中的参数。 一、hive查看当前环境配置命令 set &#…

『亚马逊云科技产品测评』活动征文|基于亚马逊EC2云服务器安装Prometheus数据可视化监控

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 亚马逊EC2云服务器&#xff08;Elastic Compute Cloud&#xff09;是亚马…