java基础之 Date类和DateFormat类

Date类

  • java.util.Date表示日期和时间的类。
  • Date类表示特定的瞬间,1秒=1000毫秒。
构造方法:
Date()
public static void main(String[] args) {
        demo01();
    }    
    private static void demo01(){
        Date date =new Date();
        System.out.println(date);
    }

根据本地时间转换日期对象。

		Date date =new Date();
        System.out.println(date.toLocaleString());
  • 空参数的Date()作用是获取当前系统的日期和时间。
Date(long date)
public class DateDemo {
    public static void main(String[] args) {
        demo01(10000000);
    }
    private static void demo01(long date1){
        Date date =new Date(date1);
        System.out.println(date);
    }
}
  • 时间原点是1970.1.1.00.08.00(东八区)。
成员方法:
getTime()
 public static void main(String[] args) {
        Date date =new Date();
        long time =date.getTime();
        System.out.println(time);
    }
  • 把日期转换为毫秒用getTime()成员方法。

DateFormat类

  • java.text.DateFormat类
成员方法:
format(Date date)
  • 将日期格式化成日期/时间字符串。
parse(String source)
  • 把符合模式的字符串,解析为Date日期。
DateFormat是一个抽象类,无法创建对象,必须使用他的子类。
import java.text.SimpleDateFormat extends DateFormat
构造方法:
  • SimpleDateFormat(String pattern)
  • 使用给定模式 SimpleDateFormat并使用默认的 FORMAT语言环境的默认日期格式符号。
  • String pattern:传递指定的模式。
  • 模式:(区分大小写)
  • y—年 M—月 d—日 H—时 m—分 s—秒
  • “yyyy-MM-dd HH:mm:ss”
format(Date date)
public static void main(String[] args) {
        demo01();
    }
    private static void demo01(){
        Date date=new Date();
        //创建一个SimpleDateFormat对象,构造方法中传递指定的模式。
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //调用SimpleDateFormat对象中的方法format,按照构造方法中指定的模式,把Date日期格式化为符合模式的字符串(文本)
        String s = sdf.format(date);
        System.out.println(s);
    }
parse(String source)
public static void main(String[] args) throws ParseException {
        demo01();
    }
    private static void demo01() throws ParseException {
        Date date=new Date();
        //创建一个SimpleDateFormat对象,构造方法中传递指定的模式。
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //调用SimpleDateFormat对象中的方法format,按照构造方法中指定的模式,把Date日期格式化为符合模式的字符串(文本)
        Date s = sdf.parse("2019-12-19 17:37:44");
        System.out.println(s);
    }

小测试

  • 输入出生日期,输出至今来到这个世界的天数。
public class DateDemo {
    public static void main(String[] args) throws ParseException {
        System.out.println("请输入您的出生日期:格式为yyyy-MM-dd:");
        //从键盘输入出生日期。
        String scanner=new Scanner(System.in).next();
        //创建一个SimpleDateFormat对象,使用对象的成员方法parse(),作用是:把符合模式的字符串,解析为Date日期。
        SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
        Date s = sdf.parse(scanner);
        //获取当前的日期
        Date date=new Date();
        //用getTime()成员方法去把日期转换为毫秒值。日期是不能相加减的,需要转化为毫秒值。
        long time1= s.getTime();
        long time2=date.getTime();
        //将毫秒值相加减
        long cha=time2-time1;
        //将毫秒值转化为天数
        float ss=cha/1000/60/60/24;
        System.out.println(ss);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值