Calendar接口笔记

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值