java SimpleDateFormat和Calendar日期类

news2025/1/18 17:12:48

目录

  • 一、SimpleDateFormat使用
  • 二、Calendar使用

一、SimpleDateFormat使用

使用Date直接输出日期时,是使用系统默认的格式输出,所以需要使用SimpleDateFormat来格式化日期。
那么SimpleDateFormat类怎么使用呢,我们需要先了解此类的格式化符号
y:代表年份
M:代表月份
d:代表月份中的那一天,也就是日
H:代表小时
m:代表分钟
s:代表秒
S:代表毫秒
所以使用时,需要使用这些字符来格式化日期
例如:你想显示日期格式为 2020-05-23 22:00:00 000
使用格式就应该为yyyy-MM-dd HH:mm:ss SSS

通过例子的形式来学习它如何使用
示例题目:你来这个世界多少天?
代码:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo26_SimpleDate {
    public static void main(String[] args) throws ParseException {
        /**
         需求:你来这个世界多少天
         * */
        String born = "2003年11月1日";
        String today = "2023年4月13日";
        //定义日期格式化对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月DD日");
        //将日期字符串转换成对象
        Date d1 = sdf.parse(born);
        Date d2 = sdf.parse(today);
        //求出毫秒值
        long time = d2.getTime() - d1.getTime();
        System.out.println(time / 1000 / 60/ 60/24);

    }
}

输出:
在这里插入图片描述

二、Calendar使用

Calendar是一个抽象类,我们无法直接实例化它,它有一个具体子类实体类java.util.GregorianCalendar,这个类实现的就是我们日常所用的公历历法,或者叫做阳历。我们可以直接使用new命令创建它的实例,或者使用Calendar类的getInstance方法来获得它实例.
Calendar c1 = Calendar.getInstance();
Calendar c2 = new GregorianCalendar();
// 参数含义依次为:年、月、日(、时、分、秒 ),
Calendar c3 = new GregorianCalendar(2008, 8, 8, 18, 10, 5);

示例代码:

import java.util.Calendar;
import java.util.Scanner;


public class Demo27_Calendar {
    public static void main(String[] args){
        test1();
        test2(2);
        test3();
//        game();
    }
    public static void test1(){
        Calendar c = Calendar.getInstance();//父类引用指向子类对象
        System.out.println(c.get(Calendar.YEAR));
        System.out.println(c.get(Calendar.MONTH)+1);//月份从零开始
        System.out.println(c.get(Calendar.DAY_OF_MONTH));
        System.out.println(c.get(Calendar.DAY_OF_WEEK));//周日是第一天,周六是最后一天
        System.out.println(c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+c.get(Calendar.DAY_OF_MONTH)+"日"+test2(c.get(Calendar.DAY_OF_WEEK)));
    }
    public static String test2(int week){
        /**
         将星期存储在表中进行查询
         * */
        String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
        return arr[week];

    }
    public static void test3(){
        Calendar c = Calendar.getInstance();//父类引用指向子类对象
        c.add(Calendar.YEAR,1);//让年份加1
        c.set(2025,1,2);//设置年月日
        System.out.println(c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+c.get(Calendar.DAY_OF_MONTH)+"日"+test2(c.get(Calendar.DAY_OF_WEEK)));

    }
    public static void game(){
        /**
         需求:键盘输入年份判断是闰年还是平年
         * */
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入年份:");
        String line = sc.nextLine(); //录入数字字符串
        int year = Integer.parseInt(line); //转换为数字
        boolean b = getYear(year);
        System.out.println(b);
    }
    public static boolean getYear(int year){
        Calendar c = Calendar.getInstance();
        c.set(year,2,1);
        c.add(Calendar.DAY_OF_MONTH,-1);
        return c.get(Calendar.DAY_OF_MONTH) == 29;
    }
}

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

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

相关文章

Codeforces Round 866 (Div. 2) 题解

目录 A. Yuras New Name(构造) 思路: 代码: B. JoJos Incredible Adventures(构造) 思路: 代码: C. Constructive Problem(思维) 思路: 代…

一、计算机的发展历史

一、计算机的发展历史 第一台现代计算机 ENIAC:世界上第一台现代通用电子数字计算机,诞生于1946年2月14日的美国宾夕法尼亚大学。研制电子计算机的想法产生于第二次世界大战进行期间。当时激战正酣,各国的武器装备还很差,占主要地…

Java垃圾收集原理

程序计数器、虚拟机栈、本地方法栈这三个区域随线程而灭,栈中栈帧的内存大小也是在确定的。这几个区域的内存分配和回收都具有确定性,因此不需要过多考虑如何回收。 Java堆和方法区这两个区域有着很显著的不确定性 一个接口的实现类需要的内存可能不一…

软考第七章 下一代互联网

下一代互联网 1.IPv6 IPv4的缺陷: 网络地址短缺路由速度慢,IPv4头部多达13个字段,路由器处理的信息量很大缺乏安全功能不支持新的业务模式 关于PIv6的研究成果都包含在1998年12月发表的RFC 2460文档中 1.1 IPv6分组格式 版本&#xff1a…

量子退火Python实战(3):投资组合优化(Portfolio) MathorCup2023特供PyQUBO教程

文章目录前言一、什么是投资组合优化?二、投资组合优化建模1. 目标函数:回报2.约束函数:风险3.最终优化目标函数三、基于PyQUBO实现1. 获取数据2. 数据处理3. 目标函数PyQUBO实现4. OpenJij实施优化总结前言 提示:包含pyQUBO用法…

硬件语言Verilog HDL牛客刷题day11 A里部分 和 Z兴部分

1.VL72 全加器 1.题目: ① 请用题目提供的半加器实现全加器电路① 半加器的参考代码如下,可在答案中添加并例化此代码。 2. 解题思路 (可以看代码) 2.1 先看 半加器 s 是加位 , C 是进位。 2.2 再看全加器 …

2023年新手如何选择云服务器配置来部署自己的网站?

现在做网站的人越来越少了,没有以前那种百万网站站长的势头。但是,不论个人站长还是企业,只要网上开展业务其实都会需要自己网站或小程序、APP等平台。如今,很少有人使用虚拟主机,但是独立服务器成本高,一般…

【2023】Kubernetes-网络原理

目录kubernetes网络模型kubernetes网络实现容器到容器之间通信Pod之间的通信Pod到Service之间的通信集群内部与外部组件之间的通信开源容器网络方案FlannelCalicokubernetes网络模型 Kubernetes网络模型设计的一个基础原则是:每个Pod都拥有一个独立的IP地址&#x…

异地远程访问本地SQL Server数据库【无公网IP内网穿透】

文章目录1.前言2.本地安装和设置SQL Server2.1 SQL Server下载2.2 SQL Server本地连接测试2.3 Cpolar内网穿透的下载和安装2.3 Cpolar内网穿透的注册3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置4.公网访问测试5.结语转发自CSDN远程穿透的文章:无需公网IP&a…

哪吒探针 - Windows 和Linux端agent安装(详细注意版)

一、Windows端agent安装配置 环境准备 环境: Windows 服务器软件:哪吒探针点击下载、nssm 点击下载(探针agent和nssm都要下载准备好) 设置环境变量下载软件后,解压到任意位置,然后按 winR 打开运行窗口,输入 sysdm.cpl 打开系统属性–>高级…

基于GIS/SCADA的智慧燃气数字孪生Web3D可视化系统

在低碳经济快速发展的今天,天然气在我国能源结构的占比逐年提高,安全供气成为关乎民生福祉、经济发展和社会和谐的大事。 自我国开展燃气铺设以来,经过长期运营的家用燃气和工业燃气设备管道设施设备基础差、检维修难度大,且传统燃…

[Java Web]会话跟踪技术

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:Java Web 目录1、会话跟踪技术概述2、数据共享3、Cookie4、Session5、Cookie和Session的区别6、总结1、会话跟踪…

大数据应用——Hadoop运行模式(伪分布式运行)

4.2 伪分布式运行模式4.2.1 启动HDFS并运行MapReduce程序1. 分析 (1)配置集群(2)启动、测试集群增、删、查没有改(多台机子麻烦)(3)执行WordCount案例2. 执行步骤(1&…

NestJS:TypeORM 连接mysql数据库,增删改查

一、安装数据库相关模块 pnpm add nestjs/typeorm typeorm mysql package.json 二、navicat创建nestjs_base数据库,创建products数据表,添加记录 创建nestjs数据库,创建products数据表 navicat:连接MySQL,创建库、表…

【GPT4】微软 GPT-4 测试报告(1)总体介绍

欢迎关注【youcans的AGI学习笔记】原创作品,火热更新中 微软 GPT-4 测试报告(1)总体介绍 微软 GPT-4 测试报告(2)多模态与跨学科能力 微软 GPT-4 测试报告(3)编程能力 微软 GPT-4 测试报告&…

腾讯云SSL证书格式类型及服务器支持说明

腾讯云SSL证书支持服务器类型有Tomcat、Apache、Nginx、IIS等,SSL证书格式包括crt、key、pfx、JKS、pem等格式,腾讯云百科整理了腾讯云SSL证书支持服务器类型格式对照表: 腾讯云SSL证书格式和服务器支持对照表 腾讯云SSL证书格式和服务器支持…

数据库系统工程师——第三章 数据结构与算法

文章目录📂 第三章、数据结构与算法 📁 3.1 线性结构 📖 3.1.1 线性表 📖 3.1.2 栈和队列 📖 3.1.3 串 📁 3.2 数组和矩阵 📁 3.3 树和图 📖 3.3.1 树 📖 3.3.2 图 &…

QCustomPlot实现极坐标图——QtWidgets

前言 前面用QtChart实现了极坐标图,感觉不是很方便,特别是一些点的图形,一般需要自己绘制,而QCustomPlot自带挺多的;还有极坐标的角度轴(即 圆圈),相比起来,QCustomPlot…

HTML+CSS+JS 学习笔记(一)———HTML(上)

🌱博客主页:大寄一场. 🌱系列专栏:前端 😘博客制作不易欢迎各位👍点赞⭐收藏➕关注 目录 代码开发工具 概念 HTML模板 body元素的常用属性 HTML 控制标记(标签)的类型 HTML语法…

数据库系统概论(第五版) 王珊 第四章 课后习题答案

目录 (一)数据库安全性の概念 1. 什么是数据库的安全性 2.数据库安全性和计算机系统的安全性有什么关系? 4.试述实现数据库安全性控制的常用方法和技术 5.什么是数据库中的自主存取控制方法和强制存取控制方法? (二)考试…