类SimpleDateFormat
概述
java.text.DateFormat 是日期/时间格式化子类的抽象类,不能直接使用。我们通过这个类的子类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。一共有2个功能 格式化:按照指定的格式,从Date对象转换为String对象。或者解析:按照指定的格式,从String对象转换为Date对象。
构造方法:
由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat。SimpleDateFormat
是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
这个类需要一个模式(格式)来指定格式化或解析的标准。构造方法为:
- public SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。参数pattern是一个字符串,代表日期时间的自定义格式。例如:yyyy-MM-dd HH:mm:ss" 会把模式替换为对应的日期和时间
注意:
- 模式中的字母不能修改,连接符可以改变
- 字母对应的具体意义详情如下
常用方法:
- public String format(Date date):将Date对象格式化为字符串。
- public Date parse(String source):将字符串解析为Date对象。
需求:
计算一个人活了多少天
代码实现:
package demo02; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class PersonDate { public static void main(String[] args) throws ParseException { // 从键盘获取字符串 Scanner scanner = new Scanner(System.in); System.out.println("请按照指定格式yyyy年MM月dd日输入你的生日"); String next = scanner.next(); //创建SimpleDateFormat类对象,传入指定模式 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日"); //解析成为Date对象 Date date = simpleDateFormat.parse(next); // 获取date对象,从时间原点到现在过去了多少毫秒 long start = date.getTime(); long end = new Date().getTime(); long result = end - start; //活了多少天 long day = result / (1000 * 60 * 60 * 24); System.out.println(day); } }
执行结果
类SimpleDateFormat的更多相关文章
- 时间日期相关类:Date类,DateFormat类&SimpleDateFormat类,Calendar类
日期相关类 1.Date类:日期时间类 A.构造方法 Date(): 根据当前系统时间创建日期对象 Date(Long time):根据传入的毫秒值时间创建日期对象 B.成员方法 Long get ...
- 日期操作类--SimpleDateFormat类
使用SimpleDateFormat格式化日期 SimpleDateFormat是一个以语言环境敏感的方式来格式化和分析日期的类.SimpleDateFormat允许你选择任何用户自定义日期时间格式来 ...
- Java时间处理类SimpleDateFormat的parse和format方法的正确使用
Java中怎么才能把日期转换成想要的格式呢,或把字符串转换成一定格式的日期,如把数据库中的日期或时间转换成自己想要的格式,JAVA中提供了SimpleDateFormat类可以实现. SimpleDa ...
- 分享一个工具方法:日期格式化 & 日期转化,用法与java类SimpleDateFormat类似
/** * y 年(201X) * M 年中的月份(1-12) * d 月份中的天数(1-31) * H 一天中的小时数(0-23) * h am/pm 中的小时数(1-12) * m 小时中的分钟数 ...
- 类 Arrays StringBuilder 跟 StringBuffer 的异同 SimpleDateFormat
类 String 同:起连接字符串类型作用 异: StringBuffer //线程安全 效率慢 StringBuilder //线程不安全 效率快 类 Arrays copyOf ( ...
- Date、Calendar、DateFormat、SimpleDateFormat、Timer、TimerTask类
类 Date 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值. 它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 ...
- Java常用类Date、Calendar、SimpleDateFormat详解
Date类 java.util 包提供了 Date 类来封装当前的日期和时间,Date 类提供两个构造函数来实例化 Date 对象 第一个构造函数使用当前日期和时间来初始化对象 Date( ) 第 ...
- 处理时间的类 —— System类、Date类 、SimpleDateFormat类 与 Calendar类
在我们以往的编程中,就有过通过运行前和运行后时间差来判断时间复杂度的例子,再扯得远一点,我们在C语言中制造随机数的操作,也要用到有关时间的函数.而且,在我们未来的编程中,也会时不时要用到能够读取当前时 ...
- Java SimpleDateFormat[转]
[补充] [转] http://stackoverflow.com/questions/2603638/why-cant-this-simpledateformat-parse-this-date-s ...
随机推荐
- #Java学习之路——基础阶段(第十一篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- nginx报错 [error] open() “/usr/local/var/run/openresty.pid” failed (2: No such file or directory)
解决: 服务没有启动 使用start启动服务,因为没有start而直接使用stop或者reload报错这个问题: 如果方法一没有解决,使用方法二:-C 指定配置文件nginx.conf或者weblua ...
- SpringBoot进阶教程(二十三)Linux部署Quartz
在之前的一篇文章中<SpringBoot(九)定时任务Schedule>,已经详细介绍了关于schedule框架的配置和使用,有收到一些朋友关于部署的私信,所以抽时间整理一个linux部署 ...
- [开发技巧]·Numpy中对axis的理解与应用
[开发技巧]·Numpy中对axis的理解与应用 1.问题描述 在使用Numpy时我们经常要对Array进行操作,如果需要针对Array的某一个纬度进行操作时,就会用到axis参数. 一般的教程都是针 ...
- Springboot 系列(四)Spring Boot 日志框架
注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 Spring 框架选择使用了 JCL 作为默 ...
- Js-函数式编程
前言 JavaScript是一门多范式语言,即可使用OOP(面向对象),也可以使用FP(函数式),由于笔者最近在学习React相关的技术栈,想进一步深入了解其思想,所以学习了一些FP相关的知识点,本文 ...
- Python3中列表字符串转数字
比如我们有个列表: number = [']; 如果我们需要将列表里的元素转换为数字呢?最常用的大家可能会想到使用列表推导式: number = ['] number = [int(x) for x ...
- connection holder is null新增解决方案(2018-06-02)
最近在做Java后台的项目,用到了druid数据库连接池,阿里出品,肯定是精品的意思咯,这也是我们老大搭建的框架,我就站在前人的肩膀上飞翔了.先前在一个事物里,使用了多条数据库操作,都是正常的,但是前 ...
- 多线程之Thread
Thread类可以创建和控制线程,Thread类的构造函数重载为接受ThreadStart和ParameterizedThreadStart类型的委托参数. Thread类默认创建的是前台线程,所以我 ...
- 前端面试知识点集锦(JavaScript篇)
目录 1.谈谈你对Ajax的理解?(概念.特点.作用) 2.说说你对延迟对象deferred的理解? 3.什么是跨域,如何实现跨域访问? 4.为什么要使用模板引擎? 5.JavaScript是一门什么 ...