使用Calendar获取当前年份 月份,当月第一天和最后一天

本文详细介绍了如何使用Java的Calendar类来获取和操作日期时间,包括获取当前的年、月、日、小时、分钟、秒、星期几、月份中的哪一天以及一年中的哪一天。同时,还展示了如何使用SimpleDateFormat类来格式化日期为指定的字符串格式,并获取当月第一天和最后一天的日期。

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

package org.fore.integration.service.impl;
 
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
 
/**
 * 描述:
 * @author cl
 * 2019年4月16日上午11:41:52
 */
public class test {
 
	/**
	 * 描述:
	 * @param args
	 * @author songfayuan
	 * 2017年12月1日上午11:41:52
	 */
	public static void main(String[] args) {
		// 获取当前年份、月份、日期  
        Calendar cale = null;  
        cale = Calendar.getInstance();  
        int year = cale.get(Calendar.YEAR);  
        int month = cale.get(Calendar.MONTH) + 1;  
        int day = cale.get(Calendar.DATE);  
        int hour = cale.get(Calendar.HOUR_OF_DAY);  
        int minute = cale.get(Calendar.MINUTE);  
        int second = cale.get(Calendar.SECOND);  
        int dow = cale.get(Calendar.DAY_OF_WEEK);  
        int dom = cale.get(Calendar.DAY_OF_MONTH);  
        int doy = cale.get(Calendar.DAY_OF_YEAR);  
  
        System.out.println("Current Date: " + cale.getTime());  
        System.out.println("Year: " + year);  
        System.out.println("Month: " + month);  
        System.out.println("Day: " + day);  
        System.out.println("Hour: " + hour);  
        System.out.println("Minute: " + minute);  
        System.out.println("Second: " + second);  
        System.out.println("Day of Week: " + dow);  
        System.out.println("Day of Month: " + dom);  
        System.out.println("Day of Year: " + doy);  
  
        // 获取当月第一天和最后一天  
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");  
        String firstday, lastday;  
        // 获取前月的第一天  
        cale = Calendar.getInstance();  
        cale.add(Calendar.MONTH, 0);  
        cale.set(Calendar.DAY_OF_MONTH, 1);  
        firstday = format.format(cale.getTime());  
        // 获取前月的最后一天  
        cale = Calendar.getInstance();  
        cale.add(Calendar.MONTH, 1);  
        cale.set(Calendar.DAY_OF_MONTH, 0);  
        lastday = format.format(cale.getTime());  
        System.out.println("本月第一天和最后一天分别是 : " + firstday + " and " + lastday);  
  
        // 获取当前日期字符串  
        Date d = new Date();  
        System.out.println("当前日期字符串1:" + format.format(d));  
        System.out.println("当前日期字符串2:" + year + "/" + month + "/" + day + " "  
                + hour + ":" + minute + ":" + second);  
	}
 
}

本文转载至:https://blog.youkuaiyun.com/u011019141/article/details/78686985/

### Java 中计算前一个第一天最后一天 为了实现这一功能,可以利用 `Calendar` 类来操作日期。下面展示了一种方法,该方法不仅能够得到指定月份的信息,还能方便地调整至前一并获得所需的具体日子。 ```java import java.text.SimpleDateFormat; import java.util.Calendar; public class PreviousMonthDates { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); // 获取当前时间的年份月份 int currentYear = cal.get(Calendar.YEAR); int currentMonth = cal.get(Calendar.MONTH); // 设置为当月首日以便后续减去整个从而到达上个底 cal.set(Calendar.DAY_OF_MONTH, 1); // 减少一个即变为上个最后一秒 cal.add(Calendar.MONTH, -1); String lastDayOfPreviousMonth = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()); // 将日期设回至上个第一天 cal.set(Calendar.DAY_OF_MONTH, 1); String firstDayOfPreviousMonth = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()); System.out.println("上个第一天:" + firstDayOfPreviousMonth); System.out.println("上个最后一天:" + lastDayOfPreviousMonth); } } ``` 上述代码片段展示了如何使用 `Calendar` 对象先定位到当前第一天,接着向前移动一个以达到目标——找到前一个的结束;之后再将此对象重置为其初状态,以此方式分别取得两个重要时间节点的数据[^3]。 值得注意的是,在实际应用中可能还需要考虑时区等因素的影响以及异常情况下的处理逻辑,比如跨越不同长度的月份或是遇到闰年的二等特殊情况。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值