自定义Date工具类.完成简单功能

自定义Date工具类.完成以下功能

1.可以获取到星期几
date.getDay()方法,可以获得0-6之间的数。
0表示周日,1-6表示周一至周六

/*
* 1.可以获取到星期几
* */
public static void getWeek(Date date){
    int day = date.getDay();
    switch (day){
        case 0:
            System.out.println("星期日");
            break;
        case 1:
            System.out.println("星期一");
            break;
        case 2:
            System.out.println("星期二");
            break;
        case 3:
            System.out.println("星期三");
            break;
        case 4:
            System.out.println("星期四");
            break;
        case 5:
            System.out.println("星期五");
            break;
        case 6:
            System.out.println("星期六");
            break;
    }
}

2.获取输入日期的当月第1天
date.setDate()方法,设置日期
date.setDate(1) 表示把日期设置为本月第一天

/*
* 2.获取输入日期的当月第1天
* */
public static void getFirstMonth(Date date){
    date.setDate(1);
    System.out.println((date.getMonth()+1)+"月"+date.getDate()+"日");
}

3.获得输入日期的当月最后一天
date.getMonth()方法,获取月份(0-11)
所有获取本月月份要+1 (date.getMonth()+1)
再通过date.setDate(),设置日期
1 3 5 7 8 10 12月份最后一天是31;
4 6 9 11月份呢最后一天是30;
2月要判断是否为闰年,闰年则29,平年则28;

/*
* 3.获得输入日期的当月最后一天
* */
public static void getLastMonth(Date date){
    int m = date.getMonth()+1;
    switch (m){
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            date.setDate(31);
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            date.setDate(30);
            break;
        case 2:
            int y = date.getYear()+1900;
            if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0){
                date.setDate(29);
            }else {
                date.setDate(28);
            }
    }
    System.out.println((date.getMonth()+1)+"月"+date.getDate()+"日");
}

4.判断是否是闰年
date.getYear()+1900 为本年,
1.能被4整除并且不能被100整除的年份,为闰年
2.能被400整除的年份,为闰年

/*
* 4.当断是否是闰年
* */
public static void judgeWhatYear(Date date){
    int y = date.getYear()+1900;
    if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0){
        System.out.println("闰年");
    }else {
        System.out.println("平年");
    }
}

6.根据生日计算年龄
当前年份减去生日年份得到年龄

/*
* 6.根据生日计算年龄
* */
public static void getAge(Date date){
    int i1 = date.getYear();
    int i2 = new Date().getYear();
    System.out.println(i2-i1+"岁");
}

7.获取当前日期
date.getYear()+1900 获得年份;
date.getMonth()+1 获得月份;
date.getDate() 获得日

/*
* 7.获取当前日期
* */
public static void getNowDate(){
    Date date = new Date();
    int year = date.getYear()+1900;
    int month = date.getMonth()+1;
    int d = date.getDate();
    System.out.println(year+"年"+month+"月"+d+"日");
}

8.获取当前日期时间
date.getYear()+1900 获得年份;
date.getMonth()+1 获得月份;
date.getDate() 获得日;
date.getHours() 获得时;
date.getMinutes() 获得分;
date.getSeconds() 获得秒;

/*
* 8.获取当前日期时间
* */
public static void getNowDateTime(){
    Date date = new Date();
    int year = date.getYear()+1900;
    int month = date.getMonth()+1;
    int d = date.getDate();
    int h = date.getHours();
    int min = date.getMinutes();
    int s =  date.getSeconds();
    System.out.println(year+"年"+month+"月"+d+"日"+" "+h+":"+min+":"+s);
}

9.将字符串日期转换为日期格式
通过SimpleDateFormat类的parse()方法 可以将String字符串转换成日期格式

/*
* 9.将字符串日期转换为日期格式
* */
public static void transformDate(String str) throws ParseException {
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    Date date = sdf.parse(str);
    System.out.println(date);
}

下面写个测试类,测试工具类

package com.date;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

/*
* 测试类
* */
public class Test {

    public static void main(String[] args) throws Exception {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入日期(格式:yyyy-MM-dd)");
        String s = sc.next();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date = sdf.parse(s);
        //1.可以获取到星期几
        System.out.print(s+" 是:");
        DateClass.getWeek(date);
        //2.获取输入日期的当月第1天
        System.out.print(s+" 当月第一天是:");
        DateClass.getFirstMonth(date);
        //3.获得输入日期的当月最后一天
        System.out.print(s+" 当月最后一天是:");
        DateClass.getLastMonth(date);
        //4.判断是否是闰年
        System.out.print(s+" 是:");
        DateClass.judgeWhatYear(date);
        //6.根据生日计算年龄
        System.out.print(s+" 年龄为:");
        DateClass.getAge(date);
        //7.获取当前日期
        System.out.print("当前日期是:");
        DateClass.getNowDate();
        //8.获取当前日期时间
        System.out.print("当前日期时间是:");
        DateClass.getNowDateTime();
        //9.将字符串日期转换为日期格式
        System.out.println("请输入字符串日期(格式:yyyy-MM-dd)");
        String str = sc.next();
        System.out.print(str+" 转换成日期格式后:");
        DateClass.transformDate(str);

    }
}

执行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值