DateFormat类
Posted wurengen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DateFormat类相关的知识,希望对你有一定的参考价值。
DateFormat类
是日期/时间格式化的抽象。他的主要作用就是允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化、。
注意:
- 因为他是个抽象类,所以无法直接使用,必须使用实现它的子类。
- java.text。SimpleDateFormat extends DateFormat
SimpleDateFormat 的构造方法:
- SimpleDateFormat( String pattern):用给的模式和默认语言环境的日期格式符号构造(按照指定模式输出)
- pattern 参数:传递指定的模式
- Y 年
- M 月
- d 日
- H 时
- m 分
- ss 秒
- 写对应的模式,会把模式替换为对应的格式:yyyy --MM --dd HH:mm:ss
- 注意:模式中的字母是不能修改的,连接符可以
常用方法:
- String format(Date date)按照一个的格式,把Date日期,格式化为字符串
- Date parse(String source):把符号模式的字符串,解析成为Date日期
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DetaFormatTest { public static void main(String[] args) throws ParseException { demo1(); demo2(); } private static void demo2() throws ParseException { // 创建对象,构造方法指定模式 SimpleDateFormat data = new SimpleDateFormat("yyyy年MM月dd日HH小时:mm分ss秒"); // 按照指定模式解析成data对象,模式错误会报错 Date time = data.parse("2015年12月2日2小时:22分23秒"); System.out.println(time);//Wed Dec 02 02:22:23 CST 2015 System.out.println(time.getTime());//1448994143000 转化毫秒值 } private static void demo1() { // 创建对象,构造方法指定模式 SimpleDateFormat data = new SimpleDateFormat("yyyy年MM月dd日HH小时:mm分ss秒"); // 获取Date对象 Date time = new Date(); // format方法把指定模式输出 System.out.println("现在的时间是" + data.format(time));//现在的时间是2019年03月13日22小时:23分45秒 } }
需求:获取一个人活了多少天
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 { // 获取他的生日是多少next()方法 Scanner s = new Scanner(System.in); System.out.println("请输入您的生日,格式yyyy年MM月DD日"); // 获取客户生日 String birthday = s.next(); // 解析按指定的模式解析成Data对象 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月DD日"); // 解析指定模式的字符串,变成Date 对象 Date date = sdf.parse(birthday); //System.out.println(date); // data对象转化为毫秒值 long start = date.getTime(); //获取当前时间的毫秒值 long end = new Date().getTime(); //获取活了多少天 long time = (end-start); System.out.println("你已经活了这么多天了" +time/1000/60/60/24); } }
以上是关于DateFormat类的主要内容,如果未能解决你的问题,请参考以下文章
详解Java中格式化日期的DateFormat与SimpleDateFormat类
类DateFormat(子类SimpleDateFormat)