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
分享到:
相关推荐
这里的关键在于`DATEDIFF`函数首先计算了当前日期与零日期(即1900年1月1日)之间的月份数差,然后`DATEADD`函数根据这个差值添加相应数量的月份到零日期上,最后通过添加0天的方式确保结果为该月的第一天。...
总结起来,获取上个月第一天和最后一天的日期在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 ...
"易语言取上个月第一天和最后一天源码"这个标题所涉及的知识点,主要是关于如何利用易语言的内置函数和逻辑来获取指定月份的第一天和最后一天的日期。易语言作为一款中国本土的编程语言,以其独特的中文语法和丰富的...
在C#编程语言中,获取每个月的第一天和最后一天是一个非常实用的功能,尤其是在处理与日期相关的数据时。本文将详细解析如何使用C#代码来实现这一功能,并对给定的示例代码进行深入分析。 ### C# 获取每月的第一天 ...
例如,如果你想知道2022年2月有多少天,可以这样写: ```delphi var LastDay: Integer; begin LastDay := DateUtils.MonthDays(2022, 2); Writeln('二月有', LastDay, '天'); end; ``` 但是,如果你有一个特定...
在“易语言源码易语言取上个月第一天和最后一天源码.rar”这个压缩包中,包含的源代码是用易语言编写的一个功能,即获取上一个月的第一天和最后一天的日期。 易语言的日期处理函数是编程中的一个重要部分,因为日期...
Visual Basic(简称VB)作为一种流行的编程语言,提供了丰富的工具和函数来处理各种日期相关的计算,包括判断某个月份的最后一天。下面,我们将深入探讨如何在VB中编写一个函数来实现这一功能,并解析其背后的逻辑。...
本文将详细介绍几个常用的 Oracle 时间函数,并通过示例解释如何使用这些函数来获取某个月的第一天和最后一天。 #### 1. ADD_MONTHS 函数 **功能描述**:`ADD_MONTHS` 函数用来给一个日期增加指定数量的月份。 **...
对于计算前一个月的第一天,我们可以先计算出给定时间点的该月第一天,然后通过日期的减法操作得到前一个月的最后一天,再通过这一天的年份和月份来计算出前一个月的第一天。具体步骤如下: 1. 使用datetime.date类...
我们可以通过`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',...
对于月末,首先需要计算该月有多少天,然后将日期设为该月的最后一天。 ### 六、代码健壮性考虑 为了提高代码的健壮性,以上代码都包含了异常处理部分。虽然这里只是简单地使用了空的`catch`块,但在实际应用中...
为了获取当前月的最后一天,我们需要先计算下一个月的第一天,然后再减去当天的天数,从而获得当前月的最后一天。实现代码如下: ```csharp DateTime dt2 = dt.AddMonths(1); // 将当前月份加1 // 当前月的最后一天...