使用Calendar进行日期的计算

该博客介绍了如何在Java中使用Calendar类进行日期的计算。通过实例化Calendar对象,获取当前日期,并使用add方法添加指定天数来计算新的日期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package ch;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


public class DateAdd {
public static void main(String[] args) throws ParseException {
//...................
// now.get()方法能获取当前日期的年月日时分秒等信息
//...................
//1.实例化
Calendar now = Calendar.getInstance();  
//2.
String nowDate = now.get(Calendar.YEAR)+"-"+(now.get(Calendar.MONTH) + 1)+"-"+now.get(Calendar.DAY_OF_MONTH);
        System.out.println(nowDate);
        now.add(Calendar.DATE, 4);//计算加上四天以后的日期
        String lateDate = now.get(Calendar.YEAR)+"-"+(now.get(Calendar.MONTH) + 1)+"-"+now.get(Calendar.DAY_OF_MONTH);
        System.out.println(lateDate);//计算后的日期
        


          


}
}
### 如何使用 `calendar` 计算日期 尽管 `calendar` 模块主要用于处理与日历相关的功能,但它并不直接提供用于计算日期的功能。要结合 `calendar` 和其他模块(如 `datetime`),可以实现更复杂的日期操作。 以下是通过 `calendar` 和 `datetime` 结合使用的代码示例: #### 获取日期并打印其对应的星期几 ```python import calendar from datetime import date current_date = date.today() # 当日期 day_of_week = calendar.day_name[current_date.weekday()] # 星期名称 print(f"今日期是 {current_date},对应的是 {day_of_week}.") # 输出结果 ``` 此代码片段利用了 `date.today()` 方法获取日期[^2],并通过 `calendar.day_name[]` 将整数形式的星期转换为字符串表示的形式[^1]。 #### 判断某月有多少以及该月的第一是星期几 如果需要进一步了解特定月份的日历详情,可使用如下方法: ```python year, month = date.today().year, date.today().month # 获取年份和月份 days_in_month, first_day_of_week = calendar.monthrange(year, month) print(f"{year} 年 {month} 月有 {days_in_month} .") print(f"该月第一是 {calendar.day_name[first_day_of_week]}") ``` 这里调用了 `calendar.monthrange(year, month)` 函数返回两个值:指定月份的总数以及该月第一对应的星期索引[^1]。 #### 创建完整的文本日历 还可以创建一个基于文本的整个年度或单个月份的日历视图: ```python cal = calendar.TextCalendar(calendar.SUNDAY) # 设置每周从周日开始 formatted_calendar = cal.formatmonth(date.today().year, date.today().month) print(formatted_calendar) ``` 这段程序定义了一个以周日作为一周起始日的文字型日历对象,并生成当月格式化后的日历输出[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值