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
分享到:
相关推荐
为了获取当前月份的最后一天,我们增加一个月(`add(Calendar.MONTH, 1)`),但不包括下个月的第一秒。所以我们需要在增加月份之后,将秒数减1,得到的是本月的最后一天的最后一秒: ```java calendar.add(Calendar...
总结起来,获取上个月第一天和最后一天的日期在C#中主要有两种方法:一种是根据当前月份判断并计算,另一种是通过日期的加减操作。这两种方法在实际开发中都非常实用,可以根据具体情况选择使用。希望这篇文章对你...
// 假设存在该方法用于获取某个月的最后一天 List<Date> dates = DateUtil.getDate(begin, end); int workDays = 0; for (Date date : dates) { Calendar c = Calendar.getInstance(); c.setTime(date); int ...
同理,获取上个月的最后一天则需要找到上个月的第一天后再加一天,因为每个月的最后一天是下个月的第一天的前一天。 在易语言中,我们可以使用以下步骤来实现: 1. 获取当前日期:使用内置函数“取日期”(GetDate...
首先,我们来理解如何获取当前月的第一天和最后一天。在JavaScript中,Date对象是处理日期和时间的主要工具。但是,它并不直接提供获取特定月份第一天或最后一天的内置方法。因此,开发者通常需要自定义函数来实现这...
获取一个月最后一天可以使用 Calendar 类的 getActualMaximum 方法,获取当前月份的最大的天数。然后可以使用 set 方法设置日期,并格式化输出。代码如下: ```java int MaxDay = c.getActualMaximum(Calendar.DAY_...
在C#编程语言中,获取每个月的第一天和最后一天是一个非常实用的功能,尤其是在处理与日期相关的数据时。本文将详细解析如何使用C#代码来实现这一功能,并对给定的示例代码进行深入分析。 ### C# 获取每月的第一天 ...
Visual Basic(简称VB)作为一种流行的编程语言,提供了丰富的工具和函数来处理各种日期相关的计算,包括判断某个月份的最后一天。下面,我们将深入探讨如何在VB中编写一个函数来实现这一功能,并解析其背后的逻辑。...
本文将详细介绍几个常用的 Oracle 时间函数,并通过示例解释如何使用这些函数来获取某个月的第一天和最后一天。 #### 1. ADD_MONTHS 函数 **功能描述**:`ADD_MONTHS` 函数用来给一个日期增加指定数量的月份。 **...
' 获取下个月第一天的日期,然后减去1天得到上个月的最后一天 GetTheLastDay = DateSerial(nY, nM, 1) - 1 End Function ``` 通过以上分析,我们不仅了解了如何在VBScript中实现返回某月最后一天的功能,还学习了...
对于计算前一个月的第一天,我们可以先计算出给定时间点的该月第一天,然后通过日期的减法操作得到前一个月的最后一天,再通过这一天的年份和月份来计算出前一个月的第一天。具体步骤如下: 1. 使用datetime.date类...
在ASP.NET开发中,我们经常会遇到需要处理日期和时间的需求,比如计算一个月中的第几周、星期几,或者获取特定日期对应的星期日和星期一,以及判断某个月有多少天。以下将详细介绍这些知识点。 首先,我们需要理解...
我们可以通过`YearMonth`类来获取指定月份,然后用`DayOfMonth`枚举常量获取每月的第一天和最后一天,再配合`LocalDateTime`和`ZoneId`来计算出精确的时间戳。 以下是一个使用`java.time`的例子: ```java import ...
在实际应用中,日期函数的使用非常广泛,例如计算两个日期间的工作天数、获取当前月份的第一天和最后一天、计算日期所在的周数、弹出选择周的对话框等。 1. 计算两个日期间的工作天数 在实际应用中,我们需要计算...
该资源的编程逻辑和思路是根据用户输入的年份和代表该年第一天是星期几的数字,计算每月第一天的星期,并将其显示在控制台上。 该资源涉及到多个IT知识点,包括年份和闰年判断、月份和天数的计算、星期计算、控制台...
time: 返回的时间点,如果时间点为8点,返回的结束时间为第二天的8点,例如获取8月最后一天的结束时间,以8点计,则返回值为 2022-09-01 07:59:59.997 select dbo.GetDateStartFirstAndLast('-q','s','2022-08-03',...
59,59,date('m',strtotime($date))+1,0)`,同样是先将当前月份增加1,然后通过`0`代表该月的最后一天,`23,59,59`表示当天的23点59分59秒,这样就能得到下一个月第一天的前一秒的时间戳,即当前月份的最后一天的24点...
在JavaScript中,获取当前月的最后一天是一个常见的需求,特别是在处理日期相关的应用或者数据分析时。这个任务可以通过使用JavaScript内置的Date对象来实现。下面我们将详细探讨如何实现这一功能,并结合给定的`...
7. **获取每年的第一天**:对于每年的第一天,你可能需要检查年份的变化,因为每月的第一天不一定是每年的第一天。 以上代码示例假设`startDate`和`endDate`都是`Date`对象。根据实际需求,你可能需要调整这些函数...