Date类、SimpleDateFormat类
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类的更多相关文章
- 使用 Date 和 SimpleDateFormat 类表示时间、Calendar类和Math类
一. Date 和 SimpleDateFormat类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取当 ...
- Java学习--使用 Date 和 SimpleDateFormat 类表示时间
使用 Date 和 SimpleDateFormat 类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取 ...
- 使用Date和SimpleDateFormat类表示时间
Date类: 使用 Date 类的默认无参构造方法创建出的对象就代表当前时间,我们可以直接输出 Date 对象显示当前的时间,显示的结果如下: Date d = new Date(); System. ...
- 时间日期相关类:Date类,DateFormat类&SimpleDateFormat类,Calendar类
日期相关类 1.Date类:日期时间类 A.构造方法 Date(): 根据当前系统时间创建日期对象 Date(Long time):根据传入的毫秒值时间创建日期对象 B.成员方法 Long get ...
- 使用 Date 和 SimpleDateFormat 类表示时间
在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的Date类.这个类最主要的作用就是获取当前时间,我们来看下Date的类的使用: Date d=new Dat ...
- Date Math SimpleDateFormat 类
Date 和 SimpleDateFormat /* Date 日期类 许多方法都被Calendar取代了 Date() 获取当前时间 使用概率最高 Calendar 类用常量获取当前时间 一般很少 ...
- Date 和 SimpleDateFormat 类表示时间
Date now=new Date(); // 使用format()方法将日期转换为指定格式的文本 SimpleDateFormat sdf1 = new SimpleDateFormat(" ...
- 日期操作类--SimpleDateFormat类
使用SimpleDateFormat格式化日期 SimpleDateFormat是一个以语言环境敏感的方式来格式化和分析日期的类.SimpleDateFormat允许你选择任何用户自定义日期时间格式来 ...
- Java—包装类、Date和SimpleDateFormat、Calendar类
包装类 基本数据类型不能调用方法,功能简单,为了让基本数据类型也具备对象的特性,Java为每个基本数据类型提供了一个包装类,这样就可以像操作对象那样来操作基本数据类型. 基本类型和包装类之间的对应关系 ...
- 处理时间的类 —— System类、Date类 、SimpleDateFormat类 与 Calendar类
在我们以往的编程中,就有过通过运行前和运行后时间差来判断时间复杂度的例子,再扯得远一点,我们在C语言中制造随机数的操作,也要用到有关时间的函数.而且,在我们未来的编程中,也会时不时要用到能够读取当前时 ...
随机推荐
- Shell 字符截取命令 Cut
1.Cut 命令 # cut [选项] 文件名 选项 : -f 列号 提取第几列 -d 分隔符,按照指定分隔符分割列 2.例子 cut -f 1,4 -d ":" /etc/p ...
- spring cloud + mybatis 分布式 微服务 b2b2c 多商户商城 全球部署方案
用java实施的电子商务平台太少了,使用spring cloud技术构建的b2b2c电子商务平台更少,大型企业分布式互联网电子商务平台,推出PC+微信+APP+云服务的云商平台系统,其中包括B2B.B ...
- 觉得一篇讲SPFA还不错的文章
我觉得他整理的有一些乱,我都改成插入代码了,看的顺眼一些 转载自http://blog.csdn.net/juststeps/article/details/8772755 下面的都是原文: 最短路径 ...
- Nginx简易编译安装
1.下载Nginx: http://nginx.org/download/nginx-1.6.3.tar.gz 2.安装Pcre.Zlib.Openssl等相关组件: [root@track ngin ...
- 洛谷P2486 染色
LCT的一种姿势. 题意:给定一棵树.每次把一条路径上的点染成一种颜色,求一条路径上有多少段颜色. 解: 首先可以很轻易的用树剖解决,只不过代码量让人望而却步... 有一种难以想象的LCT做法... ...
- A1127. ZigZagging on a Tree
Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree can ...
- 每添加一张图片后,GDI对象 + 3 原因: ImageList_AddIcon(hIcon) 后没调用 DestroyIcon(hIcon)
今天无意间在[任务管理器]中发现,每添加1张图片后,应用程序的 GDI对象 + 3,添加图片后,再把所有图片删除, GDI对象数量没减少! 排查原因,发现: GDI对象 + 3 的代码是: int o ...
- pytest 2.测试用例setup和teardown
之前我写的unittest的setup和teardown,还有setupClass和teardownClass(需要配合@classmethod装饰器一起使用),接下来就介绍pytest的类似于这类的 ...
- 6.Django Admin学习
##创建超级用户 python manage.py createsuperuser 英文界面换成中文: 修改setting.py zh_Hans ##后台显示数据 django requets get ...
- python自动化开发-[第二十一天]-form验证,中间件,缓存,信号,admin后台
今日概要: 1.form表单进阶 2.中间件 3.缓存 4.信号 5.admin后台 上节课回顾 FBV,CBV 序列化 - Django内置 - json.dumps(xxx,cls=) Form验 ...