Calendar接口笔记

来源:互联网 发布:红枫叶淘宝电话采集 编辑:程序博客网 时间:2024/06/03 21:30
package calendar;import java.util.Calendar;public class CalendarDemo1 {  public static void main(String[] args){      //Calendar她是一个抽象类所以不能直接实例化,通过这种方式      Calendar cal= Calendar.getInstance();      //获取年      int year = cal.get(Calendar.YEAR);      //获取月份      int month = cal.get(Calendar.MONTH);      //获取日期      int date = cal.get(Calendar.DATE);      System.out.println(year+"年"+(month+1)+"月"+date+"日");  }}结果:20171217

package calendar;//需求:给定年份求出本年二月有多少天import java.util.Calendar;import java.util.Scanner;public class CalendarDemo2 {    public static void main (String []args){        Scanner in = new Scanner(System.in);        //创建一个日历对象        Calendar cal = Calendar.getInstance();        //从键盘录入一个年份        System.out.println("请输入一个年份:");        int year = in.nextInt();        cal.set(year, 2, 1);//由于月份是0~11代表1~12月所以在此设置的2月1号其实是3月1号,然后在该日期的基础上减1就是2月的最后一天的日期,就算出当年二月有多少天..        cal.add(cal.DATE, -1);//给指定字段的日期减1        System.out.println("二月份有:"+cal.get(Calendar.DATE));    }}结果:请输入一个年份:2017二月份有:28

package calendar;import java.util.Calendar;//求距离现在的过去时间和现在时间public class CalendarDemo3 {    public static void main (String [] args){        Calendar c = Calendar.getInstance();        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+"日");        //需求:3年前的今天        c.add(Calendar.YEAR, -3);        int year1 = c.get(Calendar.YEAR);        int month1 = c.get(Calendar.MONTH);        int date1 = c.get(Calendar.DATE);        System.out.println("三年前的今天是:"+year1+"年"+(month1+1)+"月"+date1+"日");        //需求:5年后的10天前        c.add(Calendar.YEAR, 5);        c.add(Calendar.DATE, -10);        int year2 = c.get(Calendar.YEAR);        int month2 = c.get(Calendar.MONTH);        int date2 = c.get(Calendar.DATE);        System.out.println("五年后的十天前是:"+year2+"年"+(month2+1)+"月"+date2+"日");    }}结果:今天是20171217日三年前的今天是:20141217日五年后的十天前是:2019127

package calendar;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Scanner;//需求:计算自己来到这个世界已经多少天了public class CalendarDemo4 {    public static void main (String []args) throws ParseException{             /*分析:              *    1.利用键盘录入出生年月的字符串              *    2.将该日期的字符串转换成为时间类型,然后转换成为毫秒值              *    3.获取系统的当前毫秒值              *    4.两个做差              *    5.然后将毫秒值转换成为天数               * */        System.out.println("请输入你的出生年月:");        Scanner in = new Scanner(System.in);        String birth = in.nextLine();        //把该字符串转换成为一个日期类型        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");        Date d = sdf.parse(birth);        //通过该日期得到一个毫秒值        long time = d.getTime();        //获取系统当前的时间毫秒时间值        long nowtime = System.currentTimeMillis();        //然后将两个毫秒值相减        long times = nowtime-time;        //然后将毫秒值转换成为天        long days= times/1000/60/60/24;        //先除1000转换成为秒接着除60转换成为分钟->小时->天        System.out.println("你来到这个世界"+days+"天");     }}结果:请输入你的出生年月:1995-11-29你来到这个世界8054