Date

构造方法:

1、无参数构造方法:

Date date = new Date();
System.out.println(date);// Thu Mar 28 16:28:40 CST 2019,重写了toString方法,打印系统的当前时间
```、 2、有参数的构造方法:参数为long类型

Date date2 = new Date(73298479832L);

System.out.println(date2);// Fri Apr 28 16:41:19 CST 1972,这是参数对应的时间


###成员方法:
1、
long getTime():把系统当前时间转化为毫秒值,相当于System.currentTimeMillis() ##SimpleDateFormat
###DateFormat类是一个抽象类
java.text.DateFormat:是日期/时间格式化子类的抽象类
作用:
格式化(也就是日期 -> 文本)、解析(文本->日期)
成员方法:
String format(Date date):按照指定的格式把Date日期格式化为符合模式的字符串
Date parse(String source):把符合模式的字符串解析为Date日期 DateFormat是一个抽象类,无法直接创建对象,可以使用他的子类```java.text.SimpleDateFormat```创建对象
java.text.SimpleDateFormat extends Date
该类的构造方法:

SimpleDateFormat(String pattern)

// pattern是指定的模式

// 写对应的模式,会把模式替换为对应的格式的日期,年月日时分秒这些字母不能变化,但是连接符号可以变化,比如:

pattern1 = “yyyy-MM-dd HH:mm:ss";

pattern2 = "yyyy年MM月dd日 HH时mm分ss秒”;

####使用DateFormat类中的format方法把日期格式转为文本:
1、创建SimpleDateFormat对象,并且在构造方法中传递指定的模式字符串
2、调用SimpleDateFormat对象的方法format,按照构造方法中的指定模式,将日期转化为字符串(文本)

// 1、创建SimpleDateFormat对象,并且在构造方法中传递指定的模式字符串

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");

// 2、调用SimpleDateFormat对象的方法format,按照构造方法中的指定模式,将日期转化为字符串(文本)

Date date = new Date();

String d = sdf.format(date);

    System.out.println(date);// Thu Mar 28 19:57:38 CST 2019
System.out.println(d);// 2019年03月28日 19时57分38秒

####使用DateFormat类中的parse方法,把文本解析为日期
使用步骤:
1、创建SimpleDateFormat对象,并且在构造方法中传递指定的模式字符串
2、调用SimpleDateFormat对象的方法parse,把符合构造方法中的模式的字符串解析为日期
注意:
parse方法声明了一个异常叫ParseException,如果字符串和构造方法的模式不一样,就会抛出这个异常调用一个抛出异常的方法有两种处理方式,要么throw继续抛出这个异常,要么就try catch自己自己处理这个异常

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");// 构造方法里的模式串

Date date = sdf.parse("2019年03月28日 19时57分38秒");// 这个模式串要和构造方法的模式串一样(否则就有异常),返回的是一个Date对象

System.out.println(date);// Thu Mar 28 19:57:38 CST 2019

问题:一个人活了多少天了?
步骤:
计算一个人出生了多少天了
1.Scanner输入出生日期
2.使用DateFormat的parse方法把字符串转为Date对象
3、把这个对象转化为毫秒值
4、获取当前的毫秒值
5、二者相减
6、差值转为天

public class Practise {

public static void main(String[] args) throws ParseException {

Scanner sc = new Scanner(System.in);

System.out.println("Enter your birthday with format : yyyy-mm-dd");

String date = sc.next();

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date birthday = sdf.parse(date); long birthTime = birthday.getTime();
long todayTime = new Date().getTime(); long dis = todayTime - birthTime; System.out.println(dis/1000/60/60/24);
}

}


Enter your birthday with format : yyyy-mm-dd

1995-03-06

8788

Date类、SimpleDateFormat类的更多相关文章

  1. 使用 Date 和 SimpleDateFormat 类表示时间、Calendar类和Math类

    一. Date 和 SimpleDateFormat类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取当 ...

  2. Java学习--使用 Date 和 SimpleDateFormat 类表示时间

    使用 Date 和 SimpleDateFormat 类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取 ...

  3. 使用Date和SimpleDateFormat类表示时间

    Date类: 使用 Date 类的默认无参构造方法创建出的对象就代表当前时间,我们可以直接输出 Date 对象显示当前的时间,显示的结果如下: Date d = new Date(); System. ...

  4. 时间日期相关类:Date类,DateFormat类&SimpleDateFormat类,Calendar类

    日期相关类 1.Date类:日期时间类 A.构造方法 Date(): 根据当前系统时间创建日期对象 ​ Date(Long time):根据传入的毫秒值时间创建日期对象 B.成员方法 Long get ...

  5. 使用 Date 和 SimpleDateFormat 类表示时间

    在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的Date类.这个类最主要的作用就是获取当前时间,我们来看下Date的类的使用: Date d=new Dat ...

  6. Date Math SimpleDateFormat 类

    Date  和 SimpleDateFormat /* Date 日期类 许多方法都被Calendar取代了 Date() 获取当前时间 使用概率最高 Calendar 类用常量获取当前时间 一般很少 ...

  7. Date 和 SimpleDateFormat 类表示时间

    Date now=new Date(); // 使用format()方法将日期转换为指定格式的文本 SimpleDateFormat sdf1 = new SimpleDateFormat(" ...

  8. 日期操作类--SimpleDateFormat类

    使用SimpleDateFormat格式化日期 SimpleDateFormat是一个以语言环境敏感的方式来格式化和分析日期的类.SimpleDateFormat允许你选择任何用户自定义日期时间格式来 ...

  9. Java—包装类、Date和SimpleDateFormat、Calendar类

    包装类 基本数据类型不能调用方法,功能简单,为了让基本数据类型也具备对象的特性,Java为每个基本数据类型提供了一个包装类,这样就可以像操作对象那样来操作基本数据类型. 基本类型和包装类之间的对应关系 ...

  10. 处理时间的类 —— System类、Date类 、SimpleDateFormat类 与 Calendar类

    在我们以往的编程中,就有过通过运行前和运行后时间差来判断时间复杂度的例子,再扯得远一点,我们在C语言中制造随机数的操作,也要用到有关时间的函数.而且,在我们未来的编程中,也会时不时要用到能够读取当前时 ...

随机推荐

  1. 可前端解密的加密方法探讨和str_replace和preg_replace分析

    目的: 对字符串‘123456’进行后端加密,前端js可解密出真实字符 测试代码php: static $hashMap = array( '0' => '4', '1' => '9', ...

  2. 如何在TableLayout中均匀拉伸columns?

    本文选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术.本文主要解决columns难以均匀拉伸的问题,不 ...

  3. vue路由原理剖析

    单页面应用(SPA)的核心之一是: 更新视图而不重新请求页面, 实现这一点主要是两种方式: 1.Hash: 通过改变hash值 2.History: 利用history对象新特性(详情可出门左拐见:  ...

  4. [TJOI2015]线性代数(最小割)

    题目描述 给出一个N*N的矩阵B和一个1*N的矩阵C.求出一个1*N的01矩阵A.使得 D=(A*B-C)*A^T最大.其中A^T为A的转置.输出D 题解 观察上面那个式子发现,当一个bij有贡献时当 ...

  5. InnoDB,5项最佳实践,知其所以然?

    InnoDB,5项最佳实践,知其所以然? 原创: 58沈剑 架构师之路 昨天 缓存讲了一个月<缓存架构,一篇足够>.今天,开始写数据库. 第一篇,说说MySQL两个最常用的存储引擎,MyI ...

  6. QTREE5 - Query on a tree V——LCT

    QTREE5 - Query on a tree V 动态点分治和动态边分治用Qtree4的做法即可. LCT: 换根后,求子树最浅的白点深度. 但是也可以不换根.类似平常换根的往上g,往下f的拼凑 ...

  7. A1123. Is It a Complete AVL Tree

    An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child sub ...

  8. [luogu2296][寻找道路]

    直接赋题目..... 题目描述 在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1 .路径上的所有点的出边所指向的点都直接或间接与终点 ...

  9. python zip()函数的使用

    解释: 后缀为zip的文件肯定都见过吧?zip是打包压缩好的一个文件,所以,zip()函数也简单的理解为打包压缩函数,将不同个数相同类型的字段结合在一起. 官方定义为:zip() 函数用于将可迭代的对 ...

  10. 如何自学 Android 的?

    http://android.jobbole.com/83380/ 1. Java知识储备 本知识点不做重点讲解:对于有基础的同学推荐看<Java编程思想>,巩固基础,查漏补全,了解并熟悉 ...