import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;
import java.util.spi.CalendarNameProvider;
public class CalendarDemo {
public static void main(String[] args) throws ParseException {
Date date = new Date();
String formate ="yyyy年MM月dd日 HH:mm:ss";
String strDate = DateUtilClass.DateToString(date, formate);
System.out.println(strDate); // 2020年02月08日 19:16:06
System.out.println(DateUtilClass.DateToString(date,"yyyy年MM月dd日"));
System.out.println("------------------");
String str = "2020-02-28 12:35:49";
String formate1 = "yyyy-MM-dd HH:mm:ss";
Date date1 = DateUtilClass.StringToDate(str, formate1);
System.out.println(date1);
System.out.println("------------------");
/*
Calendar 抽象类 没构造方法 要生成他的对象,必须使用他的子类中的可能生成对象的方法
1.Calendar.get(int xx);获得日历中的字段值,年,月,日
2.Calendar.add( xxx ,xxx ) 可以设置某个字段值,可加,可减
3.Calendar.set(xxx,xx) 设置当前日期
*/
Calendar cal = Calendar.getInstance();
System.out.println(cal);
int year = cal.get(Calendar.YEAR);
int moth = cal.get(Calendar.MONTH)+1; //+1,目的,API中定义的是0-11
int day = cal.get(Calendar.DAY_OF_MONTH);
System.out.println(year+"年"+moth+"月"+day+"日");
System.out.println("------------------");
Calendar cal1 = Calendar.getInstance();
//获取三年前的今天
cal1.add(Calendar.YEAR,3);
int year1 = cal1.get(Calendar.YEAR);
int moth1= cal1.get(Calendar.MONTH)+1; //+1,目的,API中定义的是0-11
int day1= cal1.get(Calendar.DAY_OF_MONTH);
System.out.println(year1+"年"+moth1+"月"+day1+"日");
System.out.println("----------------");
Calendar cal2 = Calendar.getInstance();
cal2.set(2048,3,9);
int year2 = cal2.get(Calendar.YEAR);
int moth2= cal2.get(Calendar.MONTH)+1; //+1,目的,API中定义的是0-11
int day2= cal2.get(Calendar.DAY_OF_MONTH);
System.out.println(year2+"年"+moth2+"月"+day2+"日");
}
}
import java.util.Calendar;
import java.util.Scanner;
public class Get2MothDays {
public static void main(String[] args) {
//接收一个想要查询的年份
Scanner sc = new Scanner(System.in);
System.out.println("请输入想要查询的年份:");
int year = sc.nextInt();
//设置一个日历对象 年,月,日
Calendar cal = Calendar.getInstance();
cal.set(year,2,1);
//把2020年3月1日 ,向前减1天,就是2 月的最后一天,
cal.add(Calendar.DATE,-1); // Calendar.DATE 表示具体的某一天的日期
//输出减后的天数
int i = cal.get(Calendar.DATE);
System.out.println(year+"年的2月份有:"+i+"天");
}
}
import jdk.dynalink.beans.StaticClass;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateUtilClass {
//构造方法私有的目的,就是为了不让调用类实例化对象
private DateUtilClass() {
}
/*
作用:把传入的日期,按指定的格式输出并返回
函数名:DateToString
参数:
date:传入的日期时间值(Date)
formate:指定日期格式 (String)
返回值:String类型
*/
public static String DateToString(Date date,String formate ){
SimpleDateFormat sdf = new SimpleDateFormat(formate);
String s = sdf.format(date);
return s;
}
/*
作用:把传入的字符串,转化成日期,按指定的格式输出
函数名:StringToDate
参数:
str:传入的日期字符(String)
formate:指定日期格式 (String)
返回值:Date类型
*/
public static Date StringToDate(String str,String formate) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(formate);
Date date = sdf.parse(str);
return date;
}
}