我需要获取 当前季度 的 第一个日期 作为java.util.Date对象,并获取 当前季度 的 最后一个日期
作为java.util.Date对象。
我正在使用以下方法获取本月的第一个日期和本月的最后一个日期。
private Date getThisMonthFirstDate(){
Calendar calendar = new GregorianCalendar();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
calendar.set(Calendar.DAY_OF_MONTH, 1);
return calendar.getTime();
}
private Date getThisMonthLastDate(){
Calendar calandar = new GregorianCalendar();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
calendar.set(Calendar.DAY_OF_MONTH,1);
calendar.add(Calendar.MONTH, 1);
calendar.add(Calendar.DATE, -1);
return calendar.getTime();
}
有没有一种方法可以修改该功能以实现此目的,或者有人可以指出更好的方法吗?
假设第一季度= 1月2月3月,第二季度= 4月,5月,6月等。
private static Date getFirstDayOfQuarter(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.set(Calendar.MONTH, cal.get(Calendar.MONTH)/3 * 3);
return cal.getTime();
}
private static Date getLastDayOfQuarter(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.set(Calendar.MONTH, cal.get(Calendar.MONTH)/3 * 3 + 2);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
return cal.getTime();
}
这应该可以,但是我建议您比我更仔细地测试它。注意:Java中int值的除法返回下限值。
我需要获取当前季度的第一个日期作为java.util.Date对象,当前季度的最后一个日期作为java.util.Date对象。 例如,我找到了提供季度信息的方法 但前提是第一季度从1月份开始。 假设第一季度=8月、9月、10月 第二季度=11月、12月、1月 第三季度=2月、3月、4月 等等,有人能帮我得到第一个和最后一个日期吗。
我想根据月份对值进行分类,以便第一次过滤这些值 例如:-
问题内容: 如何在where子句中使用下个月的第一天和最后一天? 问题答案: 采用:
问题内容: 我正在尝试往返日期,该日期将有以前的日期,并且将有本月的第一个日期。一月份将会如此,依此类推。如何正确获取当月的第一个日期?我做不到。 问题答案: 尝试 更新(自Java 8以来 ):
问题内容: 我试图获取给定月份和年份的第一个日期和最后一个日期。我使用以下代码以yyyyMMdd格式获取最后日期。但是无法获得这种格式。另外,我希望开始日期采用相同的格式。我仍在努力。任何人都可以帮助我修复以下代码。 问题答案: 获取 开始日期 ( 注意 :在开始日期中, 日期 = 1) 对于格式化
当我运行上面的查询以从当前日期获取上个月的第一天和最后一天时,我得到了一个如下所述的错误。 错误:Amazon无效操作:函数pg_catalog.date_diff(“未知”,整数,不带时区的时间戳)不存在;[SQL State=42883,DB ErrorCode=500310] 请帮我解决这个问题。