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类的主要内容,如果未能解决你的问题,请参考以下文章

DateFormat类概述

详解Java中格式化日期的DateFormat与SimpleDateFormat类

类DateFormat(子类SimpleDateFormat)

Date类DateFormat类和Calendar类

抽象类DateFormat及子类SimpleDateFormat

Java基础-日期格式化DateFormat类简介