Java基础进阶_4

Date:

案例:

public class SimpleDateFormatDemo03 {
    public static void main(String[] args) throws ParseException {
        // 面试题:请问 “2019-11-04 09:30:30” 往后 1天15小时,30分29s后的时间是多少
        // a.定义一个字符串时间
        String date = "2019-11-04 09:30:30";

        // b.把字符串的时间解析成Date日期对象 。(重点)
        // 1.创建一个简单日期格式化对象负责解析字符串的时间成为日期对象
        // 注意:参数必须与被解析的时间的格式完全一致,否则执行报错!!
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 2.开始解析成日期对象
        Date newDate = sdf.parse(date);

        // c.得到日期对象的时间毫秒值 + 往后走 1天15小时,30分29s
        long time = newDate.getTime() + (24L *60*60 + 15*60*60 + 30*60 + 29) * 1000;

        // d.把时间毫秒值格式化成喜欢的字符串的时间形式!
        System.out.println(sdf.format(time));
    }
}

SimpleDateFormat简单日期格式化类:
包:java.text.SimpleDateFormat
构造器:public SimpleDateFormat(String pattern):指定时间的格式创建简单日期格式化对象。
方法:
-- public String format(Date date):可以把日期对象格式化成我们喜欢的时间形式,返回的是字符串!
-- public String format(Object time):可以把时间毫秒值格式化成我们喜欢的时间形式,返回的是字符串!
-- public Date parse(String date) throws ParseException:把字符串的时间解析成日期对象

Calender:

案例:

public class CalendarDemo01 {
    public static void main(String[] args) {
        // 1.通过调用日历类的静态方法getInstance得到一个当前此刻日期对象对应的日历对象。
        Calendar rightNow = Calendar.getInstance();
        System.out.println(rightNow);

        // 2.获取年:
        int year = rightNow.get(Calendar.YEAR);
        System.out.println(year);

        int mm = rightNow.get(Calendar.MONTH) + 1;
        System.out.println(mm);

        // 3.一年中的第几天: 308
        int days = rightNow.get(Calendar.DAY_OF_YEAR);
        System.out.println(days);

        // 4.修改日历的信息
        //rightNow.set(Calendar.YEAR , 2099);
        //System.out.println(rightNow.get(Calendar.YEAR));

        // 5.日历可以得到此刻日期对象。
        Date d = rightNow.getTime();
        System.out.println(d);

        // 6.此刻时间毫秒值
        long time = rightNow.getTimeInMillis();
        System.out.println(time);

        // 7.请问701天  15小时后是哪个日期
        // 让日历的一年中的第几天往后走 701天!
        rightNow.add(Calendar.DAY_OF_YEAR , 701);
        rightNow.add(Calendar.HOUR , 15);
        long time1 = rightNow.getTimeInMillis();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE a");
        System.out.println(sdf.format(time1));
    }
}
原文地址:https://www.cnblogs.com/superyucong/p/12653194.html