Java打印万年历3.0——日期相关的类(附源码)

目录

准备条件

代码讲解

效果预览

总结


日期相关的类

        与日期相关的类是一种常用类,分别是java.util.Datejava.sql.DateSimpleDateFormat、Calendar、DateTimeFormatter、LocalDateTime

" java.util.Date "用于表示特定的瞬间,精准到毫秒,它提供了日期和时间的简单表示,但不支持复杂操作,包括日期和时间的信息。

" java.sql.Date "专门用于表示SQLDate类型的值,与 " java.util.Date "不同," java.sql.Date "只包括日期信息(年、月、日),不包括时间信息(小时、分钟、秒、毫秒),通常用于JDBC(java Database Connectivity)编程中,从数据库读取或写入日期类型的数据。

"SimpleDateFormat "提供了日期和时间格式化和解析的功能,允许设置日期和时间的显示样式,或将特定格式的字符串解析成日期和时间对象。

" Calendar "是一个抽象类,它为特定瞬间与一组日历字段提供了方法。

代码讲解

        先建立一个类,然后输出语句,利用Scanner创建一个对象并给其赋值,然后利用SimpleDateFormat自定义一个日期格式, " throws ParseException "是异常处理 

public class Wnl {
    public static void main(String[] args) throws ParseException {
        System.out.println("请输入一个年月:");
        String str=new Scanner(System.in).next();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Date date = sdf.parse(str);
        Calendar calendar=Calendar.getInstance();
        calendar.setTime(date);

         接下来是写出这个月总天数以及获得这个月的1号是星期几

        int days=calendar.getActualMaximum(Calendar.DATE);

        calendar.set(calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),1);
        int week=calendar.get(Calendar.DAY_OF_WEEK);

        最后一步打印日历,利用 for 循环遍历

System.out.println("一\t二\t三\t四\t五\t六\t七");
        for(int i=1;i<week-1;i++){
            System.out.print("\t");
        }
        for(int i=1;i<=days;i++){
            System.out.print(i+"\t");
            calendar.set(calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),i);
            if(calendar.get(Calendar.DAY_OF_WEEK)==1){
                System.out.println();
            }
        }
    }
}

" System.out.print " 和" System.out.println "区别

        " System.out.print " 代表输出语句不换行,输出内容后紧接着输出其他内容

        " System.out.println " 代表输出语句换行,输出内容后直接到下一行的开头

效果预览

总结

         一种结果可以有不同的方式去体现,由浅入深,与java打印万年历1.0和java打印万年历2.0相比较,Java打印万年历3.0代码更加简易,思维也更加容易。

        学习是探索世界的一种方式 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值