`
zhoutaoinfo
  • 浏览: 12741 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

获取当前月第一天、最后一天、计算某个月共有多少天

    博客分类:
  • java
 
阅读更多
package com;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class DateUtil {
	
	/**
	 * 获取本月第一天
	 * @return 当前月第一天的日期
	 */
	public static String getMonthFirstDay() {
		Calendar cal = Calendar.getInstance();
		Calendar f = (Calendar) cal.clone();
		f.clear();
		f.set(Calendar.YEAR, cal.get(Calendar.YEAR));
		f.set(Calendar.MONTH, cal.get(Calendar.MONTH));
		String firstday = new SimpleDateFormat("yyyy-MM-dd").format(f.getTime());
		return firstday;

	}
	
	/**
	 * 获取本月最后一天
	 * @return 当前月最后一天的日期
	 */
	public static String getMonthLastDay() {
		Calendar cal = Calendar.getInstance();
		Calendar l = (Calendar) cal.clone();
		l.clear();
		l.set(Calendar.YEAR, cal.get(Calendar.YEAR));
		l.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1);
		l.set(Calendar.MILLISECOND, -1);
		String lastday = new SimpleDateFormat("yyyy-MM-dd").format(l.getTime());
		return lastday;

	}
	
	/**
	 * 根据日期计算某月有多少天
	 * @param date 需要计算有多少天的日期
	 * @return 返回当前日期的天数
	 */
	public static int getDays(String date){
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
		Calendar objCalendar = new GregorianCalendar();
		try {
			objCalendar.setTime(formatter.parse(date));
			int days = objCalendar.getActualMaximum(Calendar.DAY_OF_MONTH);
			return days;
		} catch (Exception e1) {
			e1.printStackTrace();
		}
		return 0;
	}
	

}

 

测试:

package com.test;

import org.junit.Test;

import com.DateUtil;

public class DateTest {

	@Test
	public void test(){
		System.out.println("本月第一天是:"+DateUtil.getMonthFirstDay());	
	}
	@Test
	public void test2(){
		System.out.println("本月最后一天是:"+DateUtil.getMonthLastDay());
	}
	@Test
	public void test3(){
		String str = "2012-08-15";
		int days = DateUtil.getDays(str);
		System.out.println(str+"这个月共有"+days);
	}

}

 运行效果:


 

  • 大小: 1.5 KB
分享到:
评论

相关推荐

    java代码获取当前月第一天和最后一天的毫秒值(csdn)————程序.pdf

    为了获取当前月份的最后一天,我们增加一个月(`add(Calendar.MONTH, 1)`),但不包括下个月的第一秒。所以我们需要在增加月份之后,将秒数减1,得到的是本月的最后一天的最后一秒: ```java calendar.add(Calendar...

    C#获取上个月第一天和最后一天日期的方法

    总结起来,获取上个月第一天和最后一天的日期在C#中主要有两种方法:一种是根据当前月份判断并计算,另一种是通过日期的加减操作。这两种方法在实际开发中都非常实用,可以根据具体情况选择使用。希望这篇文章对你...

    java中计算某个月的工作日总共几天

    // 假设存在该方法用于获取某个月的最后一天 List<Date> dates = DateUtil.getDate(begin, end); int workDays = 0; for (Date date : dates) { Calendar c = Calendar.getInstance(); c.setTime(date); int ...

    易语言取上个月第一天和最后一天源码

    "易语言取上个月第一天和最后一天源码"这个标题所涉及的知识点,主要是关于如何利用易语言的内置函数和逻辑来获取指定月份的第一天和最后一天的日期。易语言作为一款中国本土的编程语言,以其独特的中文语法和丰富的...

    易语言取上个月第一天和最后一天

    同理,获取上个月的最后一天则需要找到上个月的第一天后再加一天,因为每个月的最后一天是下个月的第一天的前一天。 在易语言中,我们可以使用以下步骤来实现: 1. 获取当前日期:使用内置函数“取日期”(GetDate...

    java 获取上月、一个月最后一天、周一、周日、本月日期

    获取一个月最后一天可以使用 Calendar 类的 getActualMaximum 方法,获取当前月份的最大的天数。然后可以使用 set 方法设置日期,并格式化输出。代码如下: ```java int MaxDay = c.getActualMaximum(Calendar.DAY_...

    C#每月第一天和最后一天

    在C#编程语言中,获取每个月的第一天和最后一天是一个非常实用的功能,尤其是在处理与日期相关的数据时。本文将详细解析如何使用C#代码来实现这一功能,并对给定的示例代码进行深入分析。 ### C# 获取每月的第一天 ...

    判断某月的最后一天 vb 一个函数

    Visual Basic(简称VB)作为一种流行的编程语言,提供了丰富的工具和函数来处理各种日期相关的计算,包括判断某个月份的最后一天。下面,我们将深入探讨如何在VB中编写一个函数来实现这一功能,并解析其背后的逻辑。...

    oracle时间函数,如何取得某月的第一天和最后一天

    本文将详细介绍几个常用的 Oracle 时间函数,并通过示例解释如何使用这些函数来获取某个月的第一天和最后一天。 #### 1. ADD_MONTHS 函数 **功能描述**:`ADD_MONTHS` 函数用来给一个日期增加指定数量的月份。 **...

    Python计算一个给定时间点前一个月和后一个月第一天的方法

    对于计算前一个月的第一天,我们可以先计算出给定时间点的该月第一天,然后通过日期的减法操作得到前一个月的最后一天,再通过这一天的年份和月份来计算出前一个月的第一天。具体步骤如下: 1. 使用datetime.date类...

    ABAP日期函数(求月末日,第几周,search help 只显示年月) 使用方法实例

    在实际应用中,日期函数的使用非常广泛,例如计算两个日期间的工作天数、获取当前月份的第一天和最后一天、计算日期所在的周数、弹出选择周的对话框等。 1. 计算两个日期间的工作天数 在实际应用中,我们需要计算...

    显示每月第一天是星期几

    该资源的编程逻辑和思路是根据用户输入的年份和代表该年第一天是星期几的数字,计算每月第一天的星期,并将其显示在控制台上。 该资源涉及到多个IT知识点,包括年份和闰年判断、月份和天数的计算、星期计算、控制台...

    SQL SERVER 获取年、季、月、周、日开始时间和结束时间

    time: 返回的时间点,如果时间点为8点,返回的结束时间为第二天的8点,例如获取8月最后一天的结束时间,以8点计,则返回值为 2022-09-01 07:59:59.997 select dbo.GetDateStartFirstAndLast('-q','s','2022-08-03',...

    PHP获取指定月份第一天和最后一天的方法

    59,59,date('m',strtotime($date))+1,0)`,同样是先将当前月份增加1,然后通过`0`代表该月的最后一天,`23,59,59`表示当天的23点59分59秒,这样就能得到下一个月第一天的前一秒的时间戳,即当前月份的最后一天的24点...

    计算本月和上个月的第一天和最后一天(SQL Server)

    在SQL Server中,计算当前月份和上个月的第一天和最后一天是常见的日期处理任务,尤其在数据统计和报告中非常有用。以下是如何使用SQL Server来完成这个任务的详细方法。 首先,我们需要理解SQL Server中的日期函数...

    JQ JS javascript new Data() 获取 指定日期 的 后一天

    然而,在这个特定的场景下,我们关注的是如何使用`Date`对象来获取指定日期之后的一天。下面将详细介绍这个过程以及相关的知识点。 1. **Date对象的构造方式**: - `new Date()`:创建一个表示当前日期和时间的...

    利用python获取某年中每个月的第一天和最后一天

    在Python编程中,有时我们需要获取特定年份中每个月的第一天和最后一天的日期,这在数据分析、日历应用或时间序列处理等场景中非常常见。本文将介绍两种方法来实现这个功能,帮助开发者更好地理解和应用。 ### 方法...

    js 返回当前月最后一天 例:2013-03-31

    在JavaScript中,获取当前月的最后一天是一个常见的需求,特别是在处理日期相关的应用或者数据分析时。这个任务可以通过使用JavaScript内置的Date对象来实现。下面我们将详细探讨如何实现这一功能,并结合给定的`...

    ORACLE sql 星期几 一个月的第几天等 方法

    在这个资源中,我们将讨论如何使用 Oracle SQL 来获取星期几、一个月的第几天、一个年的第几天等信息。 一、获取星期几 Oracle SQL 提供了多种方式来获取星期几,下面是一些常见的方法: 1. 使用 TO_CHAR 函数 ...

Global site tag (gtag.js) - Google Analytics