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)); } }