日期处理类

Date类

  • 当前日期时间 java.util.Date
import 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

上述的结果表示的就是当前的日期时间,为国际标准的格式;

当然我们可以使用其他格式输出日期时间

构造方法

  • 无参构造: public Date()

  • 有参构造: public Date(long date)

    • 接收 long 型数据,相当于把long数据转为Date
  • 转换为 long 型: public long getTime()

    • 将Date数据转为long型数据,便于格式化输出处理

system.currentTimeMillis() :取得当前的日期时间并以long型返回

import java.util.Date;

public class TestDemo {
public static void main(String [] args) {
long time = System.currentTimeMillis();// 取得系统时间
Date date = new Date( time );
System.out.println(date);
System.out.println(date.getTime());
}
}
  • 运行结果:
Sat Jun 29 22:07:16 CST 2019
1561817236726

日期格式化*

SimpleDateFormat *

  • 包:java.text.SimpleDateFormat

    • 专门实现国际化开发的包
    • simpleDateFormat是专门处理日期格式的类,转换为String显示
  • 构造方法*:

    • public SimpleDateFormat(String pattern)
  • 将Date转换为String*:

    • public final String format( Date date )
  • 将String转换为Date*:

    • public Date parse(String source) throws ParseException

常见的转换格式单位

单位 简写(使用) 表示
yyyy year
MM month
dd Day in month
HH Hour in day(0~23)
mm Minute in hour
ss Second in minute
毫秒 S Millisecond

实例

日期格式的转换

  • 将Date数据转为 String型数据
import java.text.SimpleDateFormat;
import java.util.Date; public class TestDemo {
public static void main(String [] args) {
Date date = new Date() ;
SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");
String str = SDF.format(date);
// format: 将Date型数据变为 String型数据
System.out.println(str);
}
}
  • 运行结果:
2019-06-29 22:24:50:777

程序功能简单说:

首先是Date获取时间对象,通过 SimpleDateFormat类进行日期格式化,在然后通过 format()方法将日期格式转为输出String型。

字符串转为日期

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class TestDemo {
public static void main(String [] args) throws ParseException {
String str = "2012-12-25 00:00:00:000" ;
SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");
Date date = SDF.parse(str) ; //将SDF(String型)转为Date型
System.out.println(date);
}
}
  • 运行结果:
Tue Dec 25 00:00:00 CST 2012

总结:

  • Date 与 String 类之间的转换依靠:SimpleDateFormat

  • String与基本数据类之间转换依靠:String。valueOf()

  • long 与 Date 转换依靠的是 Date 类提供的构造以及 getTime()

Calendar 类

  • 日期计算

  • Calendar是一个抽象类

import java.text.ParseException;
import java.util.Calendar; public class TestDemo {
public static void main(String [] args) throws ParseException {
Calendar cal = Calendar.getInstance(); // 取得本类对象
StringBuffer buf = new StringBuffer();
// buf 依次 append 年 月 日 时 分 秒 毫秒
buf.append(cal.get(Calendar.YEAR)).append("-");
buf.append(cal.get(Calendar.MONTH) + 1).append("-");
buf.append(cal.get(Calendar.DAY_OF_MONTH)).append(" ");
buf.append(cal.get(Calendar.HOUR_OF_DAY)).append(":");
buf.append(cal.get(Calendar.MINUTE)).append(":");
buf.append(cal.get(Calendar.SECOND)).append(":");
buf.append(cal.get(Calendar.MILLISECOND));
// 可以在append中,对日期时间进行计算操作
System.out.println(buf);
}
}

总结

  • 数据库中的日期型数据使用 java.uitl.Date 表示
  • 代码模型:SimpleDateFormat 类实现String与Date型数据的互相转换

Java 日期处理类的更多相关文章

  1. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  2. java日期工具类DateUtil-续一

    上篇文章中,我为大家分享了下DateUtil第一版源码,但就如同文章中所说,我发现了还存在不完善的地方,所以我又做了优化和扩展. 更新日志: 1.修正当字符串日期风格为MM-dd或yyyy-MM时,若 ...

  3. java日期工具类DateUtil-续二

    该版本是一次较大的升级,农历相比公历复杂太多(真佩服古人的智慧),虽然有规律,但涉及到的取舍.近似的感念太多,况且本身的概念就已经很多了,我在网上也是查阅了很多的资料,虽然找到一些计算的方法,但都有些 ...

  4. java日期工具类DateUtil

    一名优秀的程序员,不仅需要有着丰富解决问题的方案,还需要的便是代码的沉淀,这不仅有助于自己快速的开发程序,也有利于保证程序的健壮.那如何才能沉淀自己的”代码“呢?从自己编写util开始其实就是一个不错 ...

  5. Java日期处理类的相关使用

    java常用类-java日期处理类 Date类 Date类是jdk给我们提高的标准日期类,在java.util包下: 示例代码: import java.util.Date; public class ...

  6. Java 日期格式化工具类

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  7. Java日期时间类

    日期时间类有三种: 一.java.util.Date:一般用于声明日期时间类型的变量. 二.java.sql.Date:一般用于数据库日期时间的映射. 三.java.util.Calendar:一般用 ...

  8. java 日期工具类DateUtils

      日期工具类DateUtils CreateTime--2017年5月27日08:48:00Author:Marydon DateUtils.java-对日期类的进一步封装 import java. ...

  9. JAVA 日期工具类的总结

    一般,在项目中,我们会会经常使用到日期的各种方式的处理,在各个业务逻辑操作中,都需要相关的日期操作,因此,实现项目中的日期工具类的提出,还是十分重要的,下面,就项目中常用到的日期的相关操作方式,做了一 ...

随机推荐

  1. ASP.NET Core 2.2 WebApi 系列【二】使用EF CodeFirst创建数据库

    Code First模式 Code First是指"代码优先"或"代码先行". Code First模式将会基于编写的类和配置,自动创建模型和数据库. 一.准备 ...

  2. SSH框架之Struts2第一篇

    1.2 Struts2的概述 : Struts2是一个基于MVC设计模式的WEB层的框架. 1.2.1 常见web层框架 Struts1,Struts2,WebWork,SpringMVC Strut ...

  3. C#基本语法<二>_线程

    线程 多线程和异步函数 当异步线程在工作完成时如何通知调用线程 当异步线程出现异常的时候该如何处理 异步线程工作的进度如何实时的通知调用线程 如何在调用线程中取消正在工作的异步线程,并进行回滚操作 异 ...

  4. canvas实现七巧板图案和粒子时钟

      canvas实现七巧板 <canvas id="canvas" width="800" height="800"></ ...

  5. 在vue项目中的js文件里使用vue实例

    参考的网址:https://blog.csdn.net/weixin_34353714/article/details/86958742 不为其他,就为了记录一下,方便以后查看: 第一种方法: 1.首 ...

  6. python监控cpu 硬盘 内存

    import psutil import time import yagmail def sendmail(subject,contents): yag = yagmail.SMTP(user='15 ...

  7. idea找不到terminal

    起因是这样的,我要用命令行,懒,不想开cmd但是该死的我的idea找不见terminal,好奇怪哦,于是我查了一下,原来设置它蒙蔽了我的眼. 下面给出流程: 一般像我这样比较好学的好孩子不懂就比较喜欢 ...

  8. RF自动化测试之元素封装

    自动化测试均需要遵循由点到面的规则,然而对于UI自动化,点是最容易发生变化的,如果使用硬链接,那么每次元素的修改都必须修改代码,这对于代码功底薄弱的测试工程师来说,是较为困难的,所以自动化测试需要对底 ...

  9. LG1131 「ZJOI2007」时态同步 树形DP

    问题描述 LG1131 题解 正难则反,把从一个点出发到叶子结点看做从叶子结点走到那个点. DP方程很显然. \(\mathrm{Code}\) #include<bits/stdc++.h&g ...

  10. WPF combobox数据绑定和数据获取

    本文章仅为个人学习,如有错误之处请指正. 搭建WPF界面的时候,想用combobox构建一个下拉菜单,搜索的时候看到大多数都是大段代码,逻辑顺序不是很详细,摸索了大概,记录一下方便来者. 拖入comb ...