常见类---Date类,SimpleDateFormat类

一.Date类的概述

  1. 类 Date 表示特定的瞬间,精确到毫秒.

二.Date类的常见方法

Date类的构造方法

  1. public Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)
  2. public Date(long date):分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为”历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数
import java.util.Date;

public class Demo1 {
    public static void main(String[] args) {
        //创建日期对象
        Date d = new Date() ;
        System.out.println(d);


        //Date(long date):传递的是一个时间毫秒值
        long time = 1000/60/60 ;
        Date d2 = new Date(time) ;
        System.out.println("d2:"+d2);
    }
}

结果:
Thu Aug 10 14:29:46 CST 2017
d2:Thu Jan 01 08:00:00 CST 1970

Date类的两个常用方法

  1. public long getTime():返回一个时间毫秒数
  2. public void setTime(long time):设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点
import java.util.Date;

public class Demo2 {
    public static void main(String[] args) {
        //创建日期对象
        Date d = new Date();

        //返回当前时间毫秒数
        long time = d.getTime();
        System.out.println(time);

        //将毫秒数转为Date对象
        d.setTime(time);
        System.out.println(d);
    }
}

结果:
1502347361236
Thu Aug 10 14:42:41 CST 2017

三.SimpleDateFormat类的概述

  1. SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类,它允许进行格式化(日期 -> 文本),解析(文本 -> 日期)和规范化

四.SimpleDateFormat类的常见方法

SimpleDateFormat类的构造方法

  1. public SimpleDateFormat():用默认的模式和默认语言环境的日期格式符号构造
  2. public SimpleDateFormat(String pattern):创建格式化/解析器对象,提供一个参数:模式
import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo1 {
    public static void main(String[] args) {
        //创建日期对象
        Date d = new Date();

        //创建SimpleDateFormat对象并指定模式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        //使用simpleDateFormat中的format方法进行日期对象的格式化
        String s = sdf.format(d);
        System.out.println(s);
    }
}

结果:
2017-08-10

五.Date类和String类的相互转换

  1. Date —> String:
    public final String format(Object obj):格式化一个对象以生成一个字符串
    要使用DateFormat这个类:但是抽象类,使用子类(SimpleDateFormat)进行实例化
  2. String —> Date:
    public Object parseObject(String source):解析字符串的文本,生成Date
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

//String和Date的相互转换
public class Demo2 {
    public static void main(String[] args) throws ParseException {
        //创建日期对象
        Date d = new Date();

        //创建SimpleDateFormat对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        //Date--->String
        String s = sdf.format(d);
        System.out.println(s);

        //String--->Date
        //抛出一个异常
        Date d2 = (Date) sdf.parseObject(s);
        System.out.println(d2);
    }
}

结果:
2017-08-10
Thu Aug 10 00:00:00 CST 2017

六.练习

  1. 键盘录入你的出生年月日,算一下你来到这个世界多少天
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

//键盘录入你的出生年月日,算一下你来到这个世界多少天
public class Demo3 {
    public static void main(String[] args) throws ParseException {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        //录入并接收数据
        System.out.println("请输入您的出生年月日:");
        String line = sc.next() ;

        //将字符串解析成日期对象:要使用SimpleDateFormat类中的parse()方法
        //创建SimpleDateForma对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd") ;
        Date d = sdf.parse(line) ;

        //通过日期对象得到一个毫秒值
        long beforeTime = d.getTime() ;

        //获取当前系统时间的一个毫米值
        long nowTime = System.currentTimeMillis() ;

        long time = nowTime - beforeTime ;

        //计算天
        long day = time/1000/60/60/24 ;

        System.out.println("你已经来到世界有:"+day+"天");
    }
}

结果:
请输入您的出生年月日:
2001-08-23
你已经来到世界有:5831
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值