日期类练习题

目录

案例:日期工具类

案例:二月天


案例:日期工具类

需求:定义一个日期工具类(DateUtils),包含两个方法:1.把日期转换为指定格式的字符串;2.把字符串解析为指定格式的日期,然后定义一个测试类(DateDemo),测试日期工具类的方法。

思路:

  • 定义日期工具类(DateUtils)
  • 在工具类里定义第一个方法(dateToString),用于把日期转换为指定格式的字符串:

返回值类型:String

参数:Date date,String format

  • 在工具类里定义第二个方法(stringToDate),用于把字符串解析为指定格式的日期

返回值类型:Date

参数:String s,String format

  • 定义一个测试类,在测试类中调用方法。

程序演示:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
    工具类:
        构造方法私有
        成员方法静态
            (直接通过类名调方法)
 */
public class DateUtils {
    //构造方法
    private DateUtils() {
    }
    /*
        把日期转为指定格式的字符串
        返回值类型:String
        参数:Date date,String format(传递的String参数用于指定日期的转换格式)
     */
    public static String dateToString(Date date,String format){
        //使用SimpleDateFormat将传进来的日期转换为指定格式的字符串
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
        String format1 = simpleDateFormat.format(date);
        return format1;
    }

    /*
        把字符串解析为指定格式的日期
        返回值类型Date
        参数:String s,String format
     */
    public static Date stringToDate(String s,String format) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
        Date parse = simpleDateFormat.parse(s);
        return parse;
    }
}
/*
    需求:

    思路:
        ①	定义日期工具类(DateUtils)
        ②	在工具类里定义第一个方法(dateToString),用于把日期转换为指定格式的字符串:
                返回值类型:String
                参数:Date date,String format
        ③	在工具类里定义第二个方法(stringToDate),用于把字符串解析为指定格式的日期
                返回值类型:Date
                参数:String s,String format
        ④	定义一个测试类,在测试类中调用方法。


 */
class DateDemo {
    public static void main(String[] args) throws ParseException {
        //创建日期对象,获取当前时间戳
        Date date = new Date();
        //使用字符串指定日期格式
        String format = "yyyy-MM-dd HH:mm:ss";
        //创建DateUtils类对象调用method方法
        String s = DateUtils.dateToString(date,format);
        System.out.println(s);//2022-06-13 16:49:24

        String s1 = DateUtils.dateToString(date, "yyyy年MM月dd日");
        System.out.println(s1);//2022年06月13日

        System.out.println("===================");

        //调用parse方法
        Date date1 = DateUtils.stringToDate(s,format);
        System.out.println(date1);//Mon Jun 13 16:49:24 CST 2022
    }
}

案例:二月天

需求:获取任意一年的二月有多少天

思路:

  • 键盘录入任意的年份,
  • 设置日历的修年月日:
  1. 年:来自于键盘录入
  2. 月:设置为3月,月份是从0开始的,所以设置的值是2
  3. 日:设置为1
  • 3月1日往前推一天,就是2月的最后一天
  • 输出获取的结果即可。

程序演示:

import java.util.Calendar;
import java.util.Scanner;

/*
    需求:获取任意一年的二月有多少天
 */
public class CalendarDemo {
    public static void main(String[] args) {
        System.out.print("请输入任意年份:");

        //采用键盘录入年份
        Scanner scanner = new Scanner(System.in);
        int year = scanner.nextInt();

        //获取日历对象
        Calendar instance = Calendar.getInstance();

        //给日历字段定值,我们获取的3月那就定值为2
        instance.set(year, 2, 1);//月份要-1

        //切记一定要用add做减法不要在变量上面做减法,使用add做减法日期会动态更新,对变量做减法则不会
        instance.add(Calendar.DATE, -1);
        int date = instance.get(Calendar.DATE);
        System.out.println(year + "年2月共有" + date + "天");
    }
}

--欢迎大家与我一起交流java知识

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贰陆.256

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值