首页 > 编程语言 >java常用类中Calendar【日历】

java常用类中Calendar【日历】

时间:2022-11-24 16:57:18浏览次数:36  
标签:java 日历 日期 import Calendar calendar 类中

Calendar类

Calendar:它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

一、构造方法
protected Calendar() :由于修饰符是protected,所以无法直接创建该对象。需要通过别的途径生成该对象。

二、成员方法

 

 

三、日历字段

 

 

 

实战例子:

package com.Lucky.OftenClass;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;

/*
         程序:可视化日历
         1. 将日期字符串转换成日期Date,并赋值给Calendar
         2.使用DateFormat将字符串转换成日期,然后赋值到日历calendar.setTime(date);
         3.需要知道输入的日期是星期几,前面要留空格
         4.cal.get(Calendar.DAY_OF_WEEK)
         5.如果是星期六就要输出日期之后换行
         6.cal.get(Calendar.DAY_OF_WEEK)==7
         7.需要本月一共有多少天
         8.cal.getActualMaximum(Calendar.DATE);
         9.如果是当天就添加 *

 */
public class VisualCalendar {
    public static void main(String[] args) {
        System.out.println("请输入日期: 格式为:2000-09-20");
        //添加扫描器
        Scanner scanner=new Scanner(System.in);
        //获取日期数据
        String nowDate=scanner.nextLine();

          //创建DateFormat对象
         DateFormat format=new SimpleDateFormat("yyyy-MM-dd");

        try {
            //将日期字符串 转换成 日期格式数据
            Date date=format.parse(nowDate);
            //创建Calendar日历对象
            Calendar calendar=new GregorianCalendar();
            //将数据设置到日历中
            calendar.setTime(date);
            //获取日历中的日
            int day=calendar.get(Calendar.DATE);
            //将日改为1号
            calendar.set(Calendar.DATE,1);
             //获取这个月的最大天数:getActualMaximum
            int MaxDate=calendar.getActualMaximum(Calendar.DATE);


            //打印日历头部
            System.out.println("日\t一\t二\t三\t四\t五\t六");

           //循环获取星期几【打印空格】
            for (int i = 1; i < calendar.get(Calendar.DAY_OF_WEEK); i++) {
                System.out.print("\t");
            }

            //循环打印数字
            for (int i = 1; i <= MaxDate; i++) {
                //判断是否是当天 [如果是就打印一个*]
                if(i==day){
                    System.out.print("*");
                }
                System.out.print(i+"\t");

                //获取日历上的所在星期的第几天
                int weekDay=calendar.get(Calendar.DAY_OF_WEEK);
                //判断是否是星期六[SATURDAY],如果是就打印换行
                if(weekDay==Calendar.SATURDAY){
                    System.out.println("\n");
                }

                //追加日期天数
                calendar.add(Calendar.DATE,1);

            }
        } catch (ParseException e) {
            e.printStackTrace();
        }


    }
}

  

 

标签:java,日历,日期,import,Calendar,calendar,类中
From: https://www.cnblogs.com/Lucky-only/p/16922411.html

相关文章

  • java常用类之String
    packagecom.Lucky.OftenClass;importjava.util.Arrays;/*String是不可变字符串序列,所谓的String的方法都是新增一个String拓展:JDK9时,将String......
  • java工具类-发送邮件工具类
    1.普通java实现邮件发送1.1创建maven项目,配置pom.xml文件<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xm......
  • java工具类-jwt-RSA256算法加密
    加密数据(用户信息)packagetestJWT;/***@authorZRY*@version1.0*/publicclassUser{//用户idprivateintid;//用户名称private......
  • java常用类之Random
    packagecom.Lucky.OftenClass;importjava.util.Random;/***Random:随机类**注意点:Math.Random()底层调用的是Random的nextDouble方法*/publicclassR......
  • java常用类之枚举
    packagecom.Lucky.OftenClass;/*枚举定义*/publicenumEnumClass{//枚举内容男,女,girl,boy}packagecom.Lucky.OftenClass;publicclass......
  • java包装类
    packagecom.Lucky.OftenClass;/*包装类:1.为了解决现实中将基本数据类型转换成对象,以便操作【java。lang】2.实现字符串与基本数据类型之间的转换......
  • java常用类之Math
    packagecom.Lucky.OftenClass;/*Math1类:*/publicclassMathCalss{publicstaticvoidmain(String[]args){System.out.println(Math.PI);......
  • 数据结构与算法java实现
    什么是数组?(1)数组是计算机中最基本的数据结构之一,我们会用一些名为索引的数字来标识每项数据在数组中的位置。(2)大多数编程语言中索引是从0开始的。(3)数组在内存中是存在......
  • java异常
       packagecom.Lucky.oop;importjava.io.IOException;importstaticcom.Lucky.oop.DefindsException.Add;/*异常:throwAble:error与exce......
  • java构造器
    构造器:packagecom.Lucky.oop;publicclassconstructor{/*构造器:1.创建完成一个类之后,会自动再创建一个无参构造器【不显示】......