JavaSE——常用API进阶二(3/8)-Date、SimpleDateFormat(构造器、常用的方法、用法示例、时间格式的常见符号)

目录

Date

构造器、常用的方法

用法示例

SimpleDateFormat

构造器、格式化时间的方法

时间格式的常见符号

用法示例

解析字符串时间成为日期对象


接下来会学习JDK8以前传统的日期、时间,以及JDK8开始新增的日期、时间;有部分项目还是有在使用JDK8以下的日期和时间的,所以我们仍然要去了解和学习它们。

先开始学习Date日期类

Date

  • 代表的是日期和时间。

构造器、常用的方法

构造器说明
public Date()创建一个Date对象,代表的是系统当前此刻日期时间。
public Date(long time)把时间毫秒值转换成Date日期对象。
常见方法说明
public long getTime()返回从1970年1月1日00:00:00走到此刻的总的毫秒数
public void setTime(longtime)设置日期对象的时间为当前时间毫秒值对应的时间

用法示例

public class Test {
    public static void main(String[] args) {
        //1.创建一个Date的对象,代表系统当前时间信息
        Date d = new Date();
        System.out.println(d);

        //2.拿到时间毫秒值
        long time = d.getTime();
        System.out.println(time);

        //3.把时间毫秒值转换成日期对象,并且输出2s之后的时间是多少
        time += 2 * 1000;
        Date d2 = new Date(time);
        System.out.println(d2);

        //4.直接把日期对象通过setTime方法进行修改
        Date d3 = new Date();
        d3.setTime(time);
        System.out.println(d3);
    }
}

运行结果:

 

接下来再来学习关于日期时间的另一个类:SimpleDateFormat

为什么要用SimpleDataFormat?

是为了将Date类的对象以我们指定的格式输出,更加人性化。

SimpleDateFormat

  • 代表简单日期格式化,可以用来把日期对象、时间毫秒值格式化成我们想要的形式。

构造器、格式化时间的方法

常见构造器说明
public SimpleDateFormat(String pattern)创建简单日期格式化对象,并封装时间的格式
格式化时间的方法说明
public final String format(Date date)将日期格式化成日期/时间字符串
public final String format(Object time)将时间毫秒值式化成日期/时间字符串

在使用它们之前,我们要先了解时间格式的常见符号:

时间格式的常见符号

符号意义
y
M
d
H
m
s
EEE星期几
a上午/下午

用法示例

public class Test {
    public static void main(String[] args) {    System.out.println(d3);

        //1.准备一些时间
        System.out.println("格式化之前:");
        Date d = new Date();
        System.out.println(d);      //日期对象
        long time = d.getTime();
        System.out.println(time);   //时间毫秒值

        System.out.println();

        //2.格式化日期对象和时间毫秒值
        System.out.println("格式化后:");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE a");

        String rs1 = sdf.format(d);
        String rs2 = sdf.format(time);
        System.out.println(rs1);
        System.out.println(rs2);
    }
}

运行结果:

解析字符串时间成为日期对象

解析方法说明
public Date parse(String source)把字符串时间解析成日期对象
public class Test {
    public static void main(String[] args) throws ParseException {
        //1.创建简单日期格式化对象,指定的时间格式必须与被解析的时间格式一模一样,否则程序会bug
        String dateStr = "2020-12-12 12:12:11";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d = sdf.parse(dateStr); //这里会抛出“异常”报错,它是担心你写的格式与所给时间的格式不相符

        System.out.println(d);
    }
}

运行结果:


END 


学习自:黑马程序员——JavaSE课程

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++学习】深入理解C++异常处理机制:异常类型,捕获和处理策略

文章目录 ♫一.异常的提出♫二.异常的概念♫三.异常的使用♫3.1 异常的抛出和捕获♫3.2.异常的重新抛出♫3.3异常安全♫3.4 异常规范 ♫4.自定义异常体系♫5.C标准库的异常体系♫6.异常的优缺点 ♫一.异常的提出 之前: C语言传统的处理错误的方式与带来的弊端&…

【位运算】Leetcode 两整数之和

题目解析 371. 两整数之和 算法讲解 异或的本质就是无进位相加,但是我们需要处理进位,就需要知道哪一位上有进位,再让无进位相加的结果 进位即可,在重复这个过程,当进位等于0的时候,说明相加的过程已经结…

Windows环境下删除MySQL

文章目录 一、关闭MySQL服务1、winR打开运行,输入services.msc回车2、服务里找到MySQL并停止 二、卸载MySQL软件1、打开控制模板--卸载程序--卸载MySQL相关的所有组件 三、删除MySQL在物理硬盘上的所有文件1、删除MySQL的安装目录(默认在C盘下的Program …

CSS盒模型(详讲)

目录 概述: 内容区(content): 内边距(paddingj): 前言: 设置内边距: 边框(border): 前言: 示例: 外边…

飞驰云联入选金融信创生态实验室「金融信创优秀解决方案」

近日,由中国人民银行领导、中国金融电子化集团有限公司牵头组建的金融信创生态实验室发布了第三期金融信创优秀解决方案,Ftrans飞驰云联“文件数据传输解决方案”成功入选! 本次金融信创优秀解决方案遴选经方案征集、方案初审、专家评审等多环…

unity android 打包

现在使用的unity版本hub不支持导入support,只能自己下载对应的支持 找到对应的sdk,ndk

计算机组成原理【CO】Ch2 数据的表示和应用

文章目录 大纲2.1 数制与编码2.2 运算方法和运算电路2.3 浮点数的表示和运算 【※】带标志加法器OFSFZFCF计算机怎么区分有符号数无符号数? 【※】存储排列和数据类型转换数据类型大小数据类型转换 进位计数制进制转换2的次幂 各种码的基本特性无符号整数的表示和运算带符号整…

牛客研究生复试刷题(1)

KY30进制转换 1.最开始没有考虑到大数问题,可以说是没考虑完全,输入类型使用的是int64_t,只ac了一半测试用例。所以在数很大找不到合适的数据类型存储时,要考虑使用string来存放。 2.使用string存放数字的时候就要考虑:字符和数字之间的转换。字符转换成数字:str[i]-0,…

软考125-上午题-【软件工程】-传统软件的测试策略

一、传统软件的测试策略 有效的软件测试实际上分为4步进行,即:单元测试、集成测试、确认测试、系统测试。 1-1、单元测试(模块测试) 单元测试也称为模块测试,在模块编写完成且无编译错误后就可以进行。 单元测试侧重…

ChatGPT-4 Turbo 今天开放啦!附如何查询GPT-4 是否为 Turbo

2024年4月12日,OpenAI在X上宣布GPT-4 Turbo开放了!提高了写作、数学、逻辑推理和编码方面的能力。另外最重要的是,响应速度更快了!! ChatGPT4 Turbo 如何升级?解决国内无法升级GPT4 Turbo的问题&#xff0…

springboot+vue科普知识商城考试论坛交流系统网站

本系统主要是设计出新能源科普网站,基于B/S构架,后台数据库采用了Mysql,可以使数据的查询和存储变得更加有效,可以确保新能源科普网站管理的工作能够正常、高效的进行,从而提高工作的效率。总体的研究内容如下&#xf…

Nikon | NEF格式图片批量转换为jpg格式

如何将nikon相机拍的NEF格式图片转换为jpg格式呢? 这里推荐一个在线转换的网址: https://picflow.com/convert/nef-to-jpg 添加图片后,可以批量选择图片,点击转换后即可进行下载

【Python】使用OPC UA创建数据服务器

目录 准备工作服务器设置创建或获取节点设置节点值启动服务器查看服务器客户端总结 在工业自动化和物联网(IoT)领域,OPC UA(开放平台通信统一架构)已经成为一种广泛采用的数据交换标准。它提供了一种安全、可靠且独立于…

Nature Geoscience | 近十年来北方森林和温带森林是全球主要的碳汇

2023年10月2日,法国巴黎萨克雷大学、波尔多大学与丹麦哥本哈根大学等多个单位的科研小组在国际知名学术期刊《Nature Geoscience》发表了一项题为“Global Increase in Biomass Carbon Stock Dominated by Growth of Northern Young Forests over Past Decade”的文…

论文笔记:NEFTune: Noisy Embeddings Improve Instruction Finetuning

iclr 2024 reviewer 评分 5666 1 论文思路 论文的原理很简单:在finetune过程的词向量中引入一些均匀分布的噪声即可明显地提升模型的表现 2 方法评估

动态规划-简单多状态dp问题2

文章目录 1. 买卖股票的最佳时机含冷冻期(309)2. 买卖股票的最佳时机含手续费(714)3. 买卖股票的最佳时机 III(123)4. 买卖股票的最佳时机 IV(188) 1. 买卖股票的最佳时机含冷冻期&a…

【ELK】ELK企业级日志分析系统

搜集日志;日志处理器;索引平台;提供视图化界面;客户端登录 日志收集者:负责监控微服务的日志,并记录 日志存储者:接收日志,写入 日志harbor:负责去连接多个日志收集者&am…

年龄与疾病c++

题目描述 某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理,按照0-18岁、19-35岁、36-60岁、61以上(含61)四个年龄段统计的患病人数以及占总患病人数的比例。 输入 共2行,第一行为过…

2440栈的实现类型、b系列指令、汇编掉用c、c调用汇编、切换工作模式、初始化异常向量表、中断处理、

我要成为嵌入式高手之4月11日51ARM第六天!! ———————————————————————————— b指令 标签:表示这条指令的名称,可跳转至标签 b指令:相当于goto,可随意跳转 如:fini…

Vivado Design Suite中的增量实现和增量模式

Vivado Incremental(增量)是Xilinx FPGA设计工具中的一种功能,它允许对设计的一部分进行修改和重新编译,而不需要对整个设计进行重新编译。这种增量式的方法可以显著减少编译时间,特别是在进行小的修改或迭代开发时。 …