Date类(java.util.Date)

时间原点:1970年1月1日 8点0分0秒。

创建日期对象:

package blog;

import java.util.Date;

public class Datetest01 {
public static void main(String[] args) {
Date nowDate = new Date();
System.out.println("当前时间是:"+nowDate);
Date date1 = new Date(10000);
Date date2 = new Date(-10000);
System.out.println("以5000定义的时间为:"+date1);
System.out.println("以5000定义的时间为:"+date2);
}
}

从上面的例子我们可以发现:当直接new Date()时得到的其实是现在的时间。然后当以参数为10000或者-10000时,它是以原点为基准点以毫秒为单位取计算然后得到时间。

下面是Date源码,我们其实也可以从注释说明中发现他们两者的用法的不同之处。

/**
* Allocates a <code>Date</code> object and initializes it so that
* it represents the time at which it was allocated, measured to the
* nearest millisecond.
*
* @see java.lang.System#currentTimeMillis()
*/
public Date() {
this(System.currentTimeMillis());
} /**
* Allocates a <code>Date</code> object and initializes it to
* represent the specified number of milliseconds since the
* standard base time known as "the epoch", namely January 1,
* 1970, 00:00:00 GMT.
*
* @param date the milliseconds since January 1, 1970, 00:00:00 GMT.
* @see java.lang.System#currentTimeMillis()
*/
public Date(long date) {
fastTime = date;
}

getTime()

在上面的测试代码最后加入两行:

System.out.println("使用getTime():"+nowDate.getTime());
System.out.println("使用getTime():"+date1.getTime());

我们发现:getTime()获取的是日期距日期原点的毫秒数

日期格式转换

y 代表年
M 代表月
d 代表日
H 代表24进制的小时
h 代表12进制的小时
m 代表分钟
s 代表秒
S 代表毫秒

日期转字符串:

package blog;

import java.text.SimpleDateFormat;
import java.util.Date; public class DateTest02 {
public static void main(String[] args) {
SimpleDateFormat formate1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat formate2 = new SimpleDateFormat("yyyy/MM/dd HH/mm/ss SSS");
SimpleDateFormat formate3 = new SimpleDateFormat("HH:mm:ss yyyy-MM-dd");
Date date = new Date();
String s1 = formate1.format(date);
String s2 = formate2.format(date);
String s3 = formate3.format(date);
System.out.println("formate1格式下时间为:"+s1);
System.out.println("formate2格式下时间为:"+s2);
System.out.println("formate3格式下时间为:"+s3);
}
}

字符串转日期

package blog;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class Datetest03 {
public static void main(String[] args) {
SimpleDateFormat formate1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat formate2 = new SimpleDateFormat("yyyy/MM/dd HH/mm/ss SSS");
SimpleDateFormat formate3 = new SimpleDateFormat("HH:mm:ss yyyy-MM-dd");
String str1 = "2019-4-20 20:49:00";
String str2 = "2019/4/20 20/49/00 520";
String str3 = "20:49:00 2019-4-20";
try {
Date date1 = formate1.parse(str1);
Date date2 = formate2.parse(str2);
Date date3 = formate3.parse(str3);
System.out.println("时间格式1为:"+date1);
System.out.println("时间格式2为:"+date2);
System.out.println("时间格式3为:"+date3);
} catch (ParseException e) {
e.printStackTrace();
} }
}

---恢复内容结束---

---恢复内容结束---

Java中的日期的更多相关文章

  1. Delphi与Java中的日期互换

    在最近做的一个项目中用到了Java和Delphi,发现它们不能正确读取对方的日期类型,如在Java中写入一个值为“2007-12-1”的日期值,通过Delphi读取却不是这个值了.通过查阅资料,发现两 ...

  2. Java中的日期操作

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...

  3. 填坑:Java 中的日期转换

    我们之前讨论过时间,在Java 中有一些方法会出现横线?比如Date 过期方法. 参考文章:知识点:java一些方法会有横线?以Date 过期方法为例 Java中的日期和时间处理方法 Date类(官方 ...

  4. 第七节:详细讲解Java中的日期,java.util.date

    前言 大家好,给大家带来详细讲解Java中的日期,java.util.date的概述,希望你们喜欢 类Date Java.lang.Object->java.util.Date public c ...

  5. Java中的日期和时间

    Java中的日期和时间 Java在java.util包中提供了Date类,这个类封装了当前的日期和时间. Date类支持两种构造函数.第一个构造函数初始化对象的当前日期和时间. Date() 下面的构 ...

  6. Java中的日期操作 分类: B1_JAVA 2015-02-16 17:55 6014人阅读 评论(0) 收藏

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...

  7. Java中的日期表示类

    一.概述 Java中的日期类设计的比较失败,刚开始使用Date来计算时间,后来大部分Date类的方法都过时了:想用Calendar类代替Date类,然而Calendar类也是不尽如人意.下面简单介绍下 ...

  8. java中获取日期和时间的方法总结

    1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下:  要使用 java.util.Date .获取当前时间的代码如下 Date date = new Date(); da ...

  9. Java中的日期处理类

    在Java中可以使用Date类和Calendar类来处理日期 但是Date类很多方法都过时了,推荐使用Canlendar类来处理日期,并对日期的格式化做了介绍.下面的部分将会逐一介绍 Date类 Ja ...

  10. java中的日期处理

    学习Java日期处理,看见这一篇比较详细,转载之. 转自:http://www.cnblogs.com/hqr9313/archive/2012/04/19/2458221.html   时间日期1) ...

随机推荐

  1. CSP-S 2019 游记,以及AFO

    CSP-S:Day1 195 Day2 84 滚粗,AFO. Day0 和cyl神仙打了一会儿游戏,九点半教了cyl一下LCT,开始写板子题,写到十点半,睡觉. Day1 六点半起床.吃饭.赶赴考场, ...

  2. Go语言中的常见的几个坑

    目录 1.for range 2.defer与闭包 3.map内存溢出 4.协程泄漏 5.http手动关闭 记录一下日常中遇到的几个坑,加深一下印象. 1.for range 这个是比较常见的问题了, ...

  3. ansible-介绍

    常用自动化运维工具 CFengine Chef Puppet 基于Ruby开发,采用C/S架构,扩展性强,基于SSL认证 SaltStack 基于python开发,采用C/S架构,相对于puppet更 ...

  4. docker容器命令1

    docker容器命令 新建并启动容器命令 docker run INAME(镜像名字) 语法:docker run [OPTIONS] INAME [COMMAND] 例子:docker run -i ...

  5. 解读JVM虚拟机

    概要点: java虚拟机概述和基本概念 堆.栈.方法区 了解虚拟机参数 垃圾回收概念和算法.及对象的分代转换 垃圾收集器 java虚拟机的原理: 所谓虚拟机,就是一台虚拟的机器.它是一款软件,用来执行 ...

  6. day18 Pyhton学习 匿名函数

    匿名函数 别称: lambda表达式 函数,没有名字 def wahaha(n):#wahaha return n**2 print(wahaha.__name__) qqxing = lambda ...

  7. selenium元素定位学习笔记

    一,定位原则 稳定 简单灵活 唯一 WebDriver提供了两种方式来定位页面元素,分别是find_element_by_XXX和find_elements_by_XXX.第一种方式的结果是在正常情况 ...

  8. 什么是 C 和 C ++ 标准库?学编程的你应该知道这些知识!

    简要介绍编写C/C ++应用程序的领域,标准库的作用以及它是如何在各种操作系统中实现的. 我已经接触C++一段时间了,一开始就让我感到疑惑的是其内部结构:我所使用的内核函数和类从何而来? 谁发明了它们 ...

  9. centos7安装redis6

    wget http://download.redis.io/releases/redis-6.0.6.tar.gz?_ga=2.104030464.1049731693.1595900008-1330 ...

  10. minianaconda3安装

    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh chmod +x Miniconda3-lates ...