java date只保留年月日_java之小日历的制作

146152c391fb81ac43bb6bbf84f7c055.png

做了一个输入日期,就能将相应的月份日历表达出来的额小功能。

要实现的效果如下:

605de591778efb8b3cc6e298c8fcd309.png

要实现的就是输入指定的日期格式然后得出这样一个列表,然后在当前的日期后带一个星号;这个小练习主要时对Date数据类型包的相关练习,涉及了字符串转化为Date格式。例如可以这样去写DateFormat p = new SimpleDateFormat("yyyy-MM-dd");

Date date = p.parse(date1);

转化为日期类型之后呢,我们要获取所输入的具体的年月日的具体数字,所以这是使用了Calendar的类方法,他的使用方法可以这样去写:Calendar p = new GregorianCalendar();

p.setTime(date);

通过Calendar的get()方法来获取到输入日期的年月日。根据我们要达到的效果,我们要获取到1号所对应的周几,才能开始输出数字,这时呢,我们可以用先

cbc37ccab8e3ca49b42beab9749888ed.png

先使用cal.set(Calendar.DAY_OF_MONTH,1);命令,设置天数为1号,然后以int nowWeek = cal.get(Calendar.DAY_OF_WEEK);命令获取到是周几,这时就可以使用for循环来输出空格数来确定1号的位置:for(int i =1 ;i<nowWeek;i++) {

System.out.print("t");

}

然后要达到换行的效果,我们设置的是在周六出换行,可以使用if(cal.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY) {

System.out.println();

}

该判断语句,当日期数为周六日时就输出换行的操作,这样基本达到我们所要的效果,此时还有一个问题就是月份中有不一样的天数,所以我们循环输出日子时要给它的限制条件设置为每月的具体天数,此时可以使用int mat =cal.getActualMaximum(Calendar.DAY_OF_MONTH);

语句来获取每月的具体天数,加入循环的条件即可,具体完整的代码如下:

f0b408592888729f8701ae1eec822de3.gif

YYNoah

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值