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
分享到:
相关推荐
总结起来,获取上个月第一天和最后一天的日期在C#中主要有两种方法:一种是根据当前月份判断并计算,另一种是通过日期的加减操作。这两种方法在实际开发中都非常实用,可以根据具体情况选择使用。希望这篇文章对你...
为了获取当前月份的最后一天,我们增加一个月(`add(Calendar.MONTH, 1)`),但不包括下个月的第一秒。所以我们需要在增加月份之后,将秒数减1,得到的是本月的最后一天的最后一秒: ```java calendar.add(Calendar...
同理,获取上个月的最后一天则需要找到上个月的第一天后再加一天,因为每个月的最后一天是下个月的第一天的前一天。 在易语言中,我们可以使用以下步骤来实现: 1. 获取当前日期:使用内置函数“取日期”(GetDate...
// 假设存在该方法用于获取某个月的最后一天 List<Date> dates = DateUtil.getDate(begin, end); int workDays = 0; for (Date date : dates) { Calendar c = Calendar.getInstance(); c.setTime(date); int ...
"易语言取上个月第一天和最后一天源码"这个标题所涉及的知识点,主要是关于如何利用易语言的内置函数和逻辑来获取指定月份的第一天和最后一天的日期。易语言作为一款中国本土的编程语言,以其独特的中文语法和丰富的...
在JavaScript中,获取当前月的第一天和最后一天是常见的日期处理任务,这有助于进行日历功能的开发或者数据统计等场景。以下是如何实现这个功能的详细步骤和相关知识点: 1. **JavaScript日期对象**:首先,我们...
4 获取某月最后一天的最后一刻时间戳; 5 获取上年第一天的零点时间戳; 6 获取下年第一天的零点时间戳; 7 获取某年第一天的零点时间戳; 8 获取某年最后一天的最后一刻时间戳; 9 获取今天零点时间戳; 10 获取n天...
在C#编程语言中,获取每个月的第一天和最后一天是一个非常实用的功能,尤其是在处理与日期相关的数据时。本文将详细解析如何使用C#代码来实现这一功能,并对给定的示例代码进行深入分析。 ### C# 获取每月的第一天 ...
在Java开发中,获取当前月份的第一天和最后一天是一个常见的需求,尤其是在处理日期相关的业务逻辑时,如统计月度数据、生成月度报告等场景。本文将深入解析如何利用Java中的`Calendar`类和`SimpleDateFormat`类来...
例如,如果你想知道2022年2月有多少天,可以这样写: ```delphi var LastDay: Integer; begin LastDay := DateUtils.MonthDays(2022, 2); Writeln('二月有', LastDay, '天'); end; ``` 但是,如果你有一个特定...
Visual Basic(简称VB)作为一种流行的编程语言,提供了丰富的工具和函数来处理各种日期相关的计算,包括判断某个月份的最后一天。下面,我们将深入探讨如何在VB中编写一个函数来实现这一功能,并解析其背后的逻辑。...
在“易语言源码易语言取上个月第一天和最后一天源码.rar”这个压缩包中,包含的源代码是用易语言编写的一个功能,即获取上一个月的第一天和最后一天的日期。 易语言的日期处理函数是编程中的一个重要部分,因为日期...
本文将详细介绍几个常用的 Oracle 时间函数,并通过示例解释如何使用这些函数来获取某个月的第一天和最后一天。 #### 1. ADD_MONTHS 函数 **功能描述**:`ADD_MONTHS` 函数用来给一个日期增加指定数量的月份。 **...
例如,获取当前周的第一天和最后一天、当前月的第一天和最后一天以及当前年份的第一天和最后一天。这些操作对于数据分析、报表生成等场景尤为重要。本文将详细介绍如何在ASP.NET中实现这一功能。 #### 代码解析 ...
我们可以通过`YearMonth`类来获取指定月份,然后用`DayOfMonth`枚举常量获取每月的第一天和最后一天,再配合`LocalDateTime`和`ZoneId`来计算出精确的时间戳。 以下是一个使用`java.time`的例子: ```java import ...
这段代码首先获取当前日期(`DateTime.Now.Date`),然后通过`AddDays`方法计算出本月的第一天。`-DateTime.Now.Day + 1`是因为我们想从当前日期回溯到月初,所以减去当前日期的天数,再加1。最后,将计算得到的日期...
在实际应用中,日期函数的使用非常广泛,例如计算两个日期间的工作天数、获取当前月份的第一天和最后一天、计算日期所在的周数、弹出选择周的对话框等。 1. 计算两个日期间的工作天数 在实际应用中,我们需要计算...
该资源的编程逻辑和思路是根据用户输入的年份和代表该年第一天是星期几的数字,计算每月第一天的星期,并将其显示在控制台上。 该资源涉及到多个IT知识点,包括年份和闰年判断、月份和天数的计算、星期计算、控制台...
time: 返回的时间点,如果时间点为8点,返回的结束时间为第二天的8点,例如获取8月最后一天的结束时间,以8点计,则返回值为 2022-09-01 07:59:59.997 select dbo.GetDateStartFirstAndLast('-q','s','2022-08-03',...