DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。
是抽象类,所以使用期子类SimpleDateFormat
public SimpleDateFormat()
public SimpleDateFormat(String pattern)
public final String format(Date date)
public Date parse(String source)
1 import java.util.Date; 2 import java.text.DateFormat; 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 6 public class Demo7_SimpleDateFormat { 7 8 public static void main(String[] args) throws ParseException { 9 //demo1(); 10 //demo2(); 11 //demo3(); 12 13 //将时间字符串转换成日期对象 14 String str="1994年01月13日 08:08:08"; 15 SimpleDateFormat s1=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); 16 Date d1=s1.parse(str); 17 System.out.println(d1); 18 } 19 20 21 public static void demo3() { 22 Date d1=new Date(); 23 SimpleDateFormat s1=new SimpleDateFormat("yyyy/MM/dd/ HH:mm:ss"); 24 System.out.println(s1.format(d1));//将日期对象转换成字符串 25 } 26 27 public static void demo2() { 28 Date d1=new Date();//获取当前时间对象 29 SimpleDateFormat s1=new SimpleDateFormat(); 30 //创建日期格式化类对象 31 System.out.println(s1.format(d1)); 32 } 33 34 public static void demo1() { 35 //DateFormat dFormat=new DateFormat(); 36 //dateformat是抽象类,不允许实例化 37 //DateFormat df1=new SimpleDateFormat(); 38 DateFormat df1=DateFormat.getDateInstance(); 39 //相当于父类引用指向子类对象,右边的方法返回一个子类对象 40 } 41 42 }
1、将生日字符串和今天字符串存在String类型的变量中
2、定义日期格式化对象
3、将日期字符串转换成日期对象
4、通过日期对象获取时间毫秒值
5、将两个时间毫秒值相减除以1000,再除以60,再除以60,再除以24得到天
@throws ParseException
1 import java.text.ParseException; 2 import java.text.SimpleDateFormat; 3 import java.util.Date; 4 5 public static void main(String[] args) throws ParseException { 6 String birthday ="1994年01月13日"; 7 String taday="2019年05月25日"; 8 //定义日期格式化对象 9 SimpleDateFormat s1=new SimpleDateFormat("yyyy年MM月dd日"); 10 //将日期字符串转换成日期对象 11 Date d1=s1.parse(birthday); 12 Date d2=s1.parse(taday); 13 //通过日期对象后期时间毫秒值 14 long time =d2.getTime()-d1.getTime(); 15 //简两个时间毫秒值相减除以1000,在除以60,在除以60,再除以24天 16 System.out.println(time/1000/60/60/24); 17 18 19 }
Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF、HOUR
等日历字段之间的转换提供了一些方法,并为操作日历字段
(例如获得下个星期的日期)提供了一些方法
public static Calendar getInstance()
public int get(int field)
成员方法
public void add(int field,int amount)
public final void set(int year,int month,int date)
键盘录入任意一个年份,判断该年是闰年还是平年
Calendar c = Calenda.getInstance();
分析:
1、键盘录入年Scanner
2、创建Calendar c = Calenda.getInstance();
3、通过set方法设置为那一年的3月1日
4、将日向前减去1
5、判断日是多少天,如果是29天返回true否则返回false
1 import java.util.Calendar; 2 import java.util.Scanner; 3 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 System.out.println("请输入年份,判断该年份是闰年还是平年"); 7 8 String line = sc.nextLine(); //录入数字字符串 9 int year = Integer.parseInt(line); //将数字字符串转换成数字 10 boolean b = getYear(year); 11 System.out.println(b); 12 } 13 14 private static boolean getYear(int year) { 15 //2、创建Calendar c = Calenda.getInstance(); 16 Calendar c = Calendar.getInstance(); 17 //3、通过set方法设置为那一年的3月1日 18 c.set(year,2,1); 19 //4、将日向前减去1 20 c.add(Calendar.DAY_OF_MONTH, -1); 21 //5、判断日是多少天,如果是29天返回true否则返回false 22 return c.get(Calendar.DAY_OF_MONTH) == 29; 23 }
原文:https://www.cnblogs.com/Sherwin-liao/p/11062141.html