Java的Calendar使用

package cn.spring03.Calendar;


import java.util.Calendar;

import java.util.Scanner;


/*

 * Calendar:表示一个日历抽象类。可以更精确的得到每一个日历字段。如果你想得到年月日,时分秒这样的数据,你可以把每个日历字段得到后自己做拼接。

 * 

 * A:如何获取每一个日历字段对于的数据呢?

 * public int get(int field):返回给定日历字段的值

 * B:其他方法

 * public final void set(int year,int month,int date)

 * public abstract void add(int field,int amount):根据给定的日历字段及其对应的值改变数据。

 */

public class CalendarDemo {

public static void main(String[] args) {

Calendar rightNow = Calendar.getInstance(); // 右边得到的肯定是子类对象。


// rightNow.add(Calendar.YEAR, 3);


int year = rightNow.get(Calendar.YEAR);

int month = rightNow.get(Calendar.MONTH);

int date = rightNow.get(Calendar.DATE);


int hour = rightNow.get(Calendar.HOUR);

int minute = rightNow.get(Calendar.MINUTE);

int second = rightNow.get(Calendar.SECOND);


// String s = second > 9 ? second : "0" + second;



StringBuilder sb = new StringBuilder();

sb.append(year).append("年").append(month + 1).append("月").append(date).append("日").append(hour).append(":")

.append(minute).append(":").append(second > 9 ? second : "0" + second);


System.out.println(sb.toString());


// 需求:请根据我给定的年,判断这年的2月有多少天?

Calendar c = Calendar.getInstance();


while (true) {

Scanner sc = new Scanner(System.in);

System.out.println("请输入年份:");

int y = sc.nextInt();


c.set(y, 2, 1); // 这是y年的3月1日

c.add(Calendar.DATE, -1); // 三月一日的前一天


int d = c.get(Calendar.DATE);

System.out.println(d);

}

}

}


Java Calendar是一个非常有用的类,用于操作日期和时间的对象。下面是使用Java Calendar的一些示例: 1. 获取当前日期和时间: ```java Calendar calendar = Calendar.getInstance(); Date currentTime = calendar.getTime(); System.out.println("当前时间为:" + currentTime); ``` 2. 获取指定日期的年、月、日: ```java Calendar calendar = Calendar.getInstance(); calendar.set(2021, 6, 1); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAY_OF_MONTH); System.out.println("年:" + year + " 月:" + month + " 日:" + day); ``` 3. 获取指定日期是星期几: ```java Calendar calendar = Calendar.getInstance(); calendar.set(2021, 6, 1); int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); System.out.println("星期" + (dayOfWeek - 1)); ``` 4. 获取指定日期的下一个月的日期: ```java Calendar calendar = Calendar.getInstance(); calendar.set(2021, 6, 1); calendar.add(Calendar.MONTH, 1); Date nextMonthDate = calendar.getTime(); System.out.println("下一个月的日期为:" + nextMonthDate); ``` 5. 比较两个日期的大小: ```java Calendar calendar1 = Calendar.getInstance(); calendar1.set(2021, 6, 1); Calendar calendar2 = Calendar.getInstance(); calendar2.set(2021, 7, 1); int result = calendar1.compareTo(calendar2); if (result == 0) { System.out.println("两个日期相同"); } else if (result < 0) { System.out.println("第一个日期在第二个日期之前"); } else { System.out.println("第一个日期在第二个日期之后"); } ``` 这些示例只是使用Java Calendar的一些常见操作,Calendar还有很多其他的方法可以使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值