SimpleDateFormat

DateFormat:

* 1,可以把“日期对象”或者“时间毫秒值”格式化成我们喜欢的时间格式(格式化时间)

* 2,可以把字符串的时间格式解析成日期对象 * DateFormat:是一个抽象类,不能直接使用,要找他的子类:

SimpleDateFormat

* 1,时间毫秒值:从1970-01-01 00:00:00开始走到刺客的总毫秒值,1s = 1000ms

*2, SimpleDateFormat简单日期格式化

* 3,构造器:public SimpleDateFormat(String pattern)

指定时间的格式创建简单日期格式化对象

* 4,方法:

public String format(Date date):

可以把日期对象格式化成我们喜欢的时间格式返回的是字符串

* public String format(Object time):

可以把时间毫秒值格式化成我们喜欢的时间格式,返回的是字符串

* public Date parse(String date) throws ParseException:把字符串时间解析成日期对象 

public class DemoDate {
    public static void main(String[] args) throws ParseException {
        //121秒后的时间是多少
        
        //1,拿到此刻日期对象
        Date date = new Date();
        System.out.println(date);
        //2,拿到此刻日期对象的时间毫秒值 往后走121s
        long l = date.getTime();//现在时间
        long l1 = date.getTime() + 121 * 1000;//1s = 1000ms 12s之后的时间
        System.out.println(l);
        //3,把时间毫秒值换成日期对象
        Date date1 = new Date(l);
        Date date2 = new Date(l1);
        System.out.println(date1);
        System.out.println(date2);
        //4,创建一个简单日期格式化对象负责格式化日期对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEE a");//2022-03-20 18:00:18 周日 下午
        //5,开始调用方法格式化时间得到格式化的字符串时间形式
        
        //日期对象格式化喜欢的时间格式
        String rs = sdf.format(date1);
        String rs1 = sdf.format(date2);
        System.out.println(rs);
        System.out.println(rs1);
        //把毫秒值格式化成我们喜欢的时间格式
        String format = sdf.format(l);
        String format1 = sdf.format(l1);
        System.out.println(format);
        System.out.println(format1);
        
        //面试题:"2019-11-04 09:30:30" 往后1天15小时 30分29秒后的时间是多少
        //a 定义一个字符串时间
        String dt = "2019-11-04 09:30:30";
        //b 把字符串时间解析成Date日期对象
            //1创建一个简单日期格式化对象负责解析字符串的时间为日期对象
            //参数必须与解析的时间格式完全一致,否则执行报错
        SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                //2,开始解析成日期对象
        Date newDt = sdft.parse(dt);
        //c.得到日期对象的时间毫秒值 + 往后1天15小时 30分29秒
        long time = newDt.getTime() + (24L*60*60 + 15*60*60 + 30*60 + 29) * 1000;//L 防止int溢出
        //d。把时间毫秒值格式化成喜欢的字符的时间格式
        System.out.println(sdft.format(time));
    }
}

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值