1、Calendar
package calendar_01;
import java.util.Calendar;
/*
* Calendar 类是一个抽象类(不能实例化)
* 它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法
*
* 由于是抽象类,所有通过方法进行实例化
* public static Calendar getInstance()
*
* public int get(int field):通过参数(给定的字段,例如YEAR,MONTH,DATE)获取具体的年月日
*
* 成员变量
* public static final int YEAR; 年
* public static final int MONTH; 月 (0-11)
* public static final int DATE;月中的日期(一个月中第一天的值为 1)
* */
public class CalendarDemo {
public static void main(String[] args) {
//创建一个日历类对象
Calendar c = Calendar.getInstance() ;//使用静态功能得到实例
//System.out.println(c);
//获取年
int year = c.get(Calendar.YEAR) ;
//获取月份
int month = c.get(Calendar.MONTH) ;
//获取月中日期
int date = c.get(Calendar.DATE) ;
System.out.println(year+"年"+(month+1)+"月"+date+"日");
}
}
/*
* 如果一个类是抽象类,要么提供子类,要么会有特有功能(静态),返回值就是当前类
* abstract class Person{
* public static Person getPerson(){
* return new Student() ;
* }
* }
*
*
* 具体的子类 class Student extends Person{}
* */
package calendar_01;
import java.util.Calendar;
/*
* public abstract void add(int field,int amount):给日历对象添加字段的时候,同时添加一个年/月/日的偏移量
*
* public final void set(int year, int month, int date):设置日历类的年月日
*
* */
public class CalendarDemo2 {
public static void main(String[] args) {
//创建一个日历类对象
Calendar c = Calendar.getInstance() ;
//获取年,月,日
System.out.println(c.get(Calendar.YEAR)+"-"+(c.get(Calendar.MONTH)+1)+"-"
+c.get(Calendar.DATE));
//获取3年前的今天
/*
* c.add(Calendar.YEAR, -3); int year = c.get(Calendar.YEAR) ; int month =
* c.get(Calendar.MONTH) ; int date = c.get(Calendar.DATE) ;
* System.out.println(year+"-"+(month+1)+"-"+date);
*/
//获取5年后的10天前
//给年设置偏移量
//给月中的天设置偏移量
/*
* c.add(Calendar.YEAR, 5); c.add(Calendar.DATE, -10);
*
* int year = c.get(Calendar.YEAR) ; int month = c.get(Calendar.MONTH) ; int
* date = c.get(Calendar.DATE) ;
* System.out.println(year+"-"+(month+1)+"-"+date);
*/
c.set(2018, 5, 20);
int year = c.get(Calendar.YEAR) ;
int month = c.get(Calendar.MONTH) ;
int date = c.get(Calendar.DATE) ;
System.out.println(year+"年"+(month+1)+"月"+date+"日");
}
}
试题:
package calendar_01;
import java.util.Calendar;
import java.util.Scanner;
/*
* 键盘录入任意年份,获取2月的最后一天
*
* 日历对象.set(year,2,1) ;//当前年份的3月1号
* add(int field,int amount):设置一个偏移量
*
*
*
*
* */
public class CalendarDemo3 {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in) ;
//接收
System.out.println("请您输入年份值:");
int year = sc.nextInt() ;
//创建日历类对象
Calendar c = Calendar.getInstance() ;
//设置年月日
c.set(year, 2, 1);//其实表示的3月1日
//只需要给月中天设置偏移量,往前推一天
c.add(Calendar.DATE, -1);
System.out.println(c.get(Calendar.DATE));
}
}
DateUtils
package calendar_01;
import java.util.Calendar;
import java.util.Scanner;
/*
* 键盘录入任意年份,获取2月的最后一天
*
* 日历对象.set(year,2,1) ;//当前年份的3月1号
* add(int field,int amount):设置一个偏移量
*
*
*
*
* */
public class CalendarDemo3 {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in) ;
//接收
System.out.println("请您输入年份值:");
int year = sc.nextInt() ;
//创建日历类对象
Calendar c = Calendar.getInstance() ;
//设置年月日
c.set(year, 2, 1);//其实表示的3月1日
//只需要给月中天设置偏移量,往前推一天
c.add(Calendar.DATE, -1);
System.out.println(c.get(Calendar.DATE));
}
}
import java.text.ParseException;
import java.util.Date;
/*
* 测试工具类
*
* */
public class DateUtilsTest {
public static void main(String[] args) throws ParseException {
//需要将Date---String
Date d = new Date() ;
//使用DateUtils工具类
String s = DateUtils.dateToString(d, "yyyy年MM月dd日") ;
System.out.println(s);//2019年11月12日
String s2 = DateUtils.dateToString(d, "yyyy-MM-dd HH:mm:ss") ;
System.out.println(s2);
System.out.println("------------------------");
//将日期文本格式转换成Date日期格式
String str = "2016-11-11" ;
//调用方法
//Date dd = DateUtils.stringToDate(str, "yyyy年MM月dd日") ;//Unparseable date: "2016-11-11
Date dd = DateUtils.stringToDate(str, "yyyy-MM-dd") ;//Unparseable date: "2016-11-11
System.out.println(dd);
}
}