日期处理类

日期通用处理类 用于所有的与日期相关的格式转化的工具类 * 将date转换为日历 public static Calendar date2Calendar(Date date) { Calendar calendar = Calendar.getInstance(); // 得到日历 calendar.setTime(date); return calendar; } 立即下载

日期处理类

1、Date 日期处理类

日期时重要的程序单元,在Java中如果先获得到当前的日期时间可以直接通过java.lang.Date类来实现,此类的常用操作方法如表1-1所示。

表 1-1
方法类型描述
public Date()构造实例化Date类对象
public Date(long date)构造将数字变为Date类对象,long为日期时间数据
public long getTime()普通获取日期对象从1970.1.1 00:00:00到现在的毫秒值,类型为long
public void setTime普通设置时间,给的是毫秒值

在Date类中提供了两个构造方法,为了清楚这两个类的构造方法的作用,其源码为:

/*
关于Date类的构造方法
*/
public class Date{
    //fastTime保存时间戳数据,此数据类型为long
    private transient long fastTime;		//保存当前日期时间数据
    
    public Date() {
        this(System.currentTimeMillis());	//调用单参构造
	}
    
    public Date(long date){
        fastTime = date;
    }
    
    //其他省略,可以参考JDK 1.8源代码
}

通过构造方法我们发现,当调用Date类中无参构造方法时利用System类获取当前日期时间戳而后通过Date类的单参构造方法进行类对象实例化。Date类对象保存当前日期时间依靠的是时间戳数字(此类型为long),Date类也提供有两种数据类型的转换支持。


范例:获取当前日期时间

package edu.blog.test06;

import java.util.Date;

public class DateTestDemo01 {
    public static void main(String[] args) {
        Date date01 = new Date();
        System.out.println(date01);

        //Date 与 long 之间转换处理
        long currentTime = date01.getTime();        //获取当前时间戳数据
        currentTime += 60 * 60 * 24 * 1000 * 10;    //10天的毫秒值
        System.out.println(new Date(currentTime));
    }
}
结果:
Thu Apr 01 14:43:23 CST 2021
Sun Apr 11 14:43:23 CST 2021

本程序利用Date类提供的无参构造实例化了Date类对象,其保存的时间戳是以毫秒的形式记录的当前日期时间,所以本程序中将当前的日期时间戳加上10天的毫秒值就可以获取10天后的日期。

tips:JDK 1.8开始提供有java.time.LocalDateTime类。


2、SimpleDateFormat 日期格式化

为了方便文本显示,Java提供有格式化处理机制。使用java.util.Date类可获得当前的日期时间数据,但是最终的数据显示格式并不方便阅读,那么此时就可以考虑对显示的结果进行格式化处理操作,而这一个操作就需要通过java.text.SimpleDateFormat类完成。该类的继承图如图 2-1所示。

图 2-1

由上图可知,Format是格式化擦操作的父类,其可以实现日期格式化、数字格式化以及文本格式化,而SimpleDateFormat是DateFormat的子类。该类的常用方法如表 2-2所示。

表 2-2
方法类型描述
public SimpleDateFormat()构造使用默认模式和日期格式实例化对象
public SimpleDateFormat(String pattern)构造使用给定的模式和日期格式实例化对象
public Date parse(String source) throws ParseException普通将字符串转化为日期格式
public final String format(Date date)普通将日期格式转化为字符串

在日期格式化操作中必须设置有完整的日期转化模式,模式中通过特定的日期标记可以将一个日期格式中的日期数字提取出来。如表 2-3所示。

表 2-3
标记描述
y年,年份是4位数,所以需要使用 yyyy 表示年
M年中的月份,月份是两位数字,所以需要使用 MM 表示月
d年中的天数,天数是两位数字,所以需要使用 dd 表示日
H一天中的小时数(24小时),小时数是两位数字,使用 HH 表示小时
m小时中的分钟数,分钟是两位数字,使用 mm 表示分钟
s分钟中的秒数,秒是两位数字,使用 ss 表示秒
S毫秒数,毫秒数是3位数字,使用 SSS 表示毫秒

范例1:将日期格式转化为字符串

package edu.blog.test06;

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

//将日期格式转化为字符串
public class DateTestDemo02 {
    public static void main(String[] args) {
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
        String string = sdf.format(date);
        System.out.println(string);
    }
}
结果:
2021-04-01 22:24:55:993

本程序通过SimpleDateFormat类依据指定格式将当前的日期时间进行了格式化处理,这样使得信息阅读更加直观。

范例2:将字符串转化为Date对象

package edu.blog.test06;


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

//将日期格式转化为字符串
public class DateTestDemo03 {
    public static void main(String[] args) throws ParseException {
        //字符串日期数据
        String dateString = "2021-04-01 22:24:55:993";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
        //日期字符串格式为Date
        Date date = sdf.parse(dateString);
        System.out.println(date);
    }
}
结果:
Thu Apr 01 22:24:55 CST 2021

本程序需要将字符串格式转化为日期型数据,这样就要要求字符串必须按照给定的转换模式进行定义。


Tips:关于字符串转化为其他数据类型。

在实际项目开发中,经常需要用户进行内容的输入,而对于输入的数据往往都会String进行表示,而经过了一系列学习之后,发现String可以转为任意的基本数据类型,也可以通过SimpleDateFormat类格式化为日期型,这些都属于开发中的常规操作,应该熟练掌握。


注:此文章为个人笔记,如有错误,敬请指正。

使用MATLAB求解二维顶盖驱动流问题的详细代码和说明 本文介绍了使用MATLAB求解二维顶盖驱动流问题的涡量-流函数方法。代码采用129×129网格,雷诺数Re=1000,通过迭代求解Navier-Stokes方程,包含流函数方程和涡量输运方程的离散求解。程序实现了边界条件处理、收敛性检查,并提供丰富后处理功能:流线图、涡量分布图、中心线速度曲线、矢量图和三维涡量可视化。计算结果可与Ghia等(1982)的经典数据进行验证。该代码完整展示了CFD问题的数值求解流程,包括参数设置、主循环计算和多种结果呈现方式,适用于流体力学教学和科研验证。 阅读详情

相关推荐

大白映射 宝马Esys编程设码映射、USB设备映射

大白映射,宝马Esys设码编程、USB设备映射

denson0394的博客 4795

Java常用类(2)--日期时间相关类Date、Calendar、LocalDateTime、Instant全面

文章目录java.lang.System类java.util.Date类java.sql.Date类java.text.SimpleDateFormat类java.util.Calendar(日历)类 java.lang.System类 System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差(时间戳)。(此方法适于计算时间差) long time = System.currentTimeMi

叶绿体不忘呼吸 1494

致远OA公文管理模块相关操作

致远oa协同办公系统 公文管理模板 相关操作

weixin_59666050的博客 4270

java中你容易忘记的基础大盘点_java.lang.Date

日期格式化 package com.ruge.modules.sys.controller; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * \* Created with IntelliJ IDEA. * \* User: 武健 * \*

嘿丷如歌的博客 1356

航天仿真必看:如何用SOFA库实现高精度GCRS-ITRS坐标转换?避坑指南

本文深入解析了航天仿真中高精度GCRS-ITRS坐标转换的关键技术,重点介绍了SOFA库在天球系与轨道系转换中的权威应用。通过对比传统方法的误差来源,详细阐述了SOFA库的转换算法优势、工程实现步骤及误差控制策略,为航天器轨道仿真提供毫米级精度的解决方案。

7h6j5k4l3的博客 850

GROMACS自由能景观图绘制全流程:从PCA分析到Origin 3D可视化(附避坑指南)

本文详细解析了使用GROMACS绘制自由能景观图的全流程,涵盖从PCA分析、数据预处理、自由能计算到最终在Origin中进行3D可视化的完整步骤。文章重点分享了数据处理与格式转换中的常见“避坑”指南,帮助研究者从分子动力学轨迹中有效提取并解读构象自由能信息,深化对生物大分子动力学过程的理解。

oauth7security的博客 309

【Java基础教程】(三十七)常用类库篇 · 第七讲:日期时间处理类——三万字全面讲解 LocalDateTime和 DateTimeFormatter,Date、Calendar ~

本文介绍了Java日期时间处理类的概念,以及它们在日期和时间操作中的优势和缺点。我们讨论了Java提供的一些主要日期时间处理类,包括`Date`、`Calendar`、`SimpleDateFormat`、`LocalDateTime`和`DateTimeFormatter`等。我们分析了它们的使用方法,并提供了一些使用案例和技巧。 这些Java日期时间处理类提供了丰富的功能和灵活性,使得我们可以方便地执行日期和时间的计算、格式化、解析和比较。然而,每个类都有自己的特点和适用范围...

Technology changes the world of life 4276

《Hadoop大数据技术原理与应用》(第2版)黑马程序员的课后习题答案

《Hadoop大数据技术原理与应用》(第2版)黑马程序员的课后习题答案

qq_36773158的博客 4646

java日期类

随着Java版本的更新,处理日期和时间的API也经历了显著的变化。在Java 8之前,主要使用的是 java.util.Date、java.util.Calendar 和 java.text.SimpleDateFormat 等类来处理日期和时间,但这些类存在很多缺点,比如设计不合理、线程不安全、不可变性差等。该类已经有很多方法已被注销不再使用,所以我们不推荐使用此类。

qq_65501197的博客 842

逆强化学习:从专家示范中学习策略

逆强化学习(Inverse Reinforcement Learning,简称IRL)是强化学习(Reinforcement Learning,简称RL)的一个子领域,它的目标是从专家的行为中学习策略。在传统的强化学习中,智能体通过与环境交互,根据奖励信号来学习一个策略。而在逆强化学习中,我们没有直接的奖励信号,而是通过观察专家的行为来推断出奖励函数,从而学习到一个与专家类似的策略。逆强化学习作为强化学习的一个重要子领域,在许多实际应用场景中都取得了显著的成功。

AI天才研究院 1448

AI 模型优化与部署秘籍:从理论到实战

本文系统介绍了AI模型优化与部署的关键技术。模型剪枝通过去除冗余参数减小模型规模,量化技术降低计算精度以提升效率,蒸馏方法实现知识从大模型到小模型的迁移。TensorRT通过层融合和精度校准加速GPU推理,ONNX格式实现跨框架模型转换,TFLite则优化移动端部署。这些技术共同解决了AI模型在资源受限环境下的部署难题,显著提升了模型运行效率,为AI应用落地提供了重要支撑。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 244

日期时间常用类

是Java中的一个日期类,他提供了处理日期的方法和功能,位于。Calender类是Java用于处理日期和时间的类,位于。: 设置一年中的第一周所需的最小天数。: 小时(24 小时制,例如:15): 设置一周的第一天是星期几。包中,用于表示特定的时间点。: 年份(例如:2023): 月份(例如:08): 分钟(例如:30): 日(例如:27): 秒(例如:45)

weixin_58565721的博客 568

Unity中语法糖带来的GC问题 ——那些看起来优雅、实际上在背后偷偷生垃圾的代码

*语法糖(Syntactic Sugar)**指的是编程语言中为了让代码更简洁、易读而提供的简便写法。比如C#中的foreachlambda表达式LINQ自动属性等。语法糖本身不是坏事,但在Unity等对GC敏感的环境下,要警惕语法糖带来的隐式内存分配。合理使用语法糖,关键场合用更“丑陋”但高效的写法,才能保证游戏流畅运行。下面我将更深入地分析Unity中语法糖导致GC的原理、具体场景、检测与优化技巧,并补充一些容易忽视的细节。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 517

java处理日期的类_Java中的日期处理类

在Java中可以使用Date类和Calendar类来处理日期但是Date类很多方法都过时了,推荐使用Canlendar类来处理日期,并对日期的格式化做了介绍。下面的部分将会逐一介绍Date类Java提供了Date类来处理日期、时间,Date类既包含日期,也包含时间。Date类从JDK1.0版本就开始存在,存在时间久远,提供的6个构造器中,已有4个建议放弃使用,目前使用的为:Date():生成一个以...

weixin_36364044的博客 552

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java处理日期的类_Java日期处理类的相关使用

java常用类-java日期处理类Date类Date类是jdk给我们提高的标准日期类,在java.util包下;示例代码:import java.util.Date;public class TestDate {public static void main(String[] args) {Date date=new Date();System.out.println("当前日期:"+date);...

weixin_42150360的博客 207

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java处理日期的类_Java日期处理类型

Date类Date类是jdk给我们提高的标准日期类,在java.util包下;示例:import java.util.Date;public class TestDate {public static void main(String[] args) {Date date=new Date();System.out.println("当前日期:"+date);}}运行发现 格式不符合中国人的习惯。...

weixin_34792272的博客 170

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

java处理日期的类_Java 日期处理类

日期处理类Date类当前日期时间 java.util.Dateimport java.util.Date;public class TestDemo {public static void main(String [] args) {Date date = new Date();System.out.println(date);}}运行结果:Sat Jun 29 21:56:04 CST 2019...

weixin_35744893的博客 382

java处理日期的类_java中的日期处理类总结

转自http://blog.youkuaiyun.com/shibenjie/article/details/4263912java中的日期处理类总结:Date/Calendar/GregorianCalendar/DateFormat/SimpleDateFormat类今天花了好大一点时间把java的日期类做了一下整理,哈1、Date类(该类现在很少用了)lDate类对象的创建:n...

weixin_29143935的博客 337

(日期操作类)Data日期处理类

Data日期处理类 从整体的Java来讲一直强调简单java类的主要设计来自于数据表的结构,那么在数据表的结构里面对于常用的类型:数字、字符串、日期中程序所学的只差日期了。 在Java中提供有一个java.util.Data类,这个类如果直接实例化就可以获取当前的日期时间。 范例:观察java.uitl.Data类 public class Date类 { public static void main(String[] args) { Date date = new Date(); S

weixin_46245201的博客 550

java 处理时间的类_Java中处理日期的常用类

Java中处理日期最常用的类是Date类和Calendar类,掌握这两个类的用法在项目中处理起日期来就轻松多了。下面是这个类的详细用法。一.Date类Java提供了Date类来处理日期、时间(此处的Date是指java.util包下的Date类,而不是java.sql包下的Date类),这个Date类从JDK1.0起就开始存在了。但正因为它历史悠久,所以它的大部分构造器、方法都已经过时,不再推荐使...

weixin_39637919的博客 644

Java的日期处理类知识点

## **Java的日期处理类知识点** **一、**Date类 Date类是日期处理类最简单的一种,属于 java.util.Date。 其构造方法为Date(long date) package com.java1234.chap05.sec01; import java.util.Date; public class Te...

qq_34759084的博客 193

Java程序设计 大数字处理类、Date日期处理类、SimpleDateFormat日期格式化

Java程序设计 大数字处理类、Date日期处理类、SimpleDateFormat日期格式化 BigInteger(整数)、BigDecimal(浮点数),这两个类都是Number子类 BigInteger类常用方法 方法 作用 public BigInteger(String val) 将一个字符串变成BigInteger类型的数据 public BigInteger add(BigInteger val) 加法计算 public BigInteger subtract(BigI

小旺的博客 1069
上一篇: CharSequence接口
下一篇: 个人通讯录管理系统C语言版(含源代码和报告)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

窝在角落里学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值