import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;
public class TestMain {
public static void main(String args[]){
System.out.println(checkDate("20161023121110"));
}
public static boolean checkDate(String date) {
boolean flag = true;
Date lastWithdrawTime = null;
try {
lastWithdrawTime = DateUtils.parseDate( date, "yyyyMMddHHmmss");
} catch (ParseException e) {
e.printStackTrace();
}
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
try {
// 判断今天是否是周日,如果是周日,计算时间向前退一周
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
cal.add(Calendar.WEEK_OF_YEAR, -1);
String startDateStr = DateFormatUtils.format(new Date(cal.getTime().getTime() + 24 * 3600 * 1000), "yyyyMMdd");
Date startDate = DateUtils.parseDate(startDateStr, "yyyyMMdd");
String endDateStr = DateFormatUtils.format(new Date(cal.getTime().getTime() + 8 * 24 * 3600 * 1000), "yyyyMMdd");
Date endDate = DateUtils.parseDate(endDateStr, "yyyyMMdd");
if (lastWithdrawTime.after(startDate) && lastWithdrawTime.before(endDate)) {
flag = false;
}
} else {
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
String startDateStr = DateFormatUtils.format(cal.getTime(), "yyyyMMdd");
Date startDate = DateUtils.parseDate(startDateStr, "yyyyMMdd");
String endDateStr = DateFormatUtils.format(new Date(cal.getTime().getTime() + 7 * 24 * 3600 * 1000), "yyyyMMdd");
Date endDate = DateUtils.parseDate(endDateStr, "yyyyMMdd");
if (lastWithdrawTime.getTime() == startDate.getTime()||(lastWithdrawTime.after(startDate) && lastWithdrawTime.before(endDate))) {
flag = false;
}
}
} catch (Exception e) {
flag = true;
}
return flag;
}
}
分享到:
相关推荐
在C#编程中,有时我们需要判断一个特定的时间点是否处于某个给定的时间区间内。这在日程管理、定时任务调度或任何与时间相关的逻辑中非常常见。本篇将详细介绍如何利用C#来实现这个功能,包括时间的处理、字符串解析...
综上所述,这个Java程序主要实现了两个功能:一是判断两个给定日期是否相同及计算它们之间的天数差;二是将给定日期向前或向后调整一定数量的天数。程序的核心是`DateType`类的设计与实现,它包含了日期的创建、打印...
在Java编程中,有时我们需要处理与日期相关的任务,例如判断某个日期是否是节假日,或者计算几个工作日后的新日期。这个工具类就是为了解决这样的问题而设计的。它包含了一个功能丰富的API,允许开发者轻松地进行...
`DATEADD`函数用于在给定日期上添加或减去指定的时间间隔,而`DATEDIFF`则用来计算两个日期之间的差异,返回的是时间间隔的单位数。 在第一个示例中,我们创建了一个名为`My_OneDay_GetWeekFirstAndEndDay`的用户...
接着,定义了一个名为 `isWorkday` 的函数,这个函数接收一个日期字符串作为参数,用于判断给定日期是否为工作日。如果未提供日期字符串,则默认取当前日期。 函数内部首先将输入的日期字符串转换为 `Date` 对象,...
- 如果日期不合法,该方法可能返回一个特定的值(如代码中的`2`),并在主函数中打印错误信息。 ### 3. 前推或后推日期 在Java中,前推或后推日期是指在某个基准日期上增加或减少一定数量的天数,从而得到一个新的...
通过以上三个自定义函数的实现,我们可以有效地在 MySQL 中对字符串进行格式判断,包括但不限于判断字符串是否全为汉字、是否为有效的日期格式以及是否全为数字等。这些函数的应用场景非常广泛,在数据清洗、格式...
如果输入的日期不符合这个格式,函数会弹出错误提示,并返回 `false`。 #### 年份有效性检查 接下来是对年份的合法性进行检查。为了确保年份在合理范围内(例如1950年至2050年之间),我们编写了 `checkYear` 函数...
- **4.28 是否在本年度至今(4.28 Date.IsInYearToDate)**:判断给定日期是否在当前年度的范围内。 - **4.29 是否为闰年(4.29 Date.IsLeapYear)**:判断给定年份是否为闰年。 - **4.30 星期几(4.30 Date.DayOfWeek)**...
根据给定的信息,本文将详细解释“输入日期返回前一天”的程序设计思路与实现方法,并针对其涉及的关键知识点进行深入分析。 ### 一、程序概述 本程序的主要功能是接收用户输入的一个日期(限定在1000年至2018年...
在实际项目中,这可能包括记录用户活动时间、统计特定日期区间内的数据,或者在程序中实现定时任务等功能。 总结一下,易语言的长整数与日期时间转换是通过"日期_到长整数"和"长整数_到日期"这两个内置函数实现的,...
如果当前日期是某个月的最后一日,则下一天的月份和日期都需要更新。 #### 总结 通过以上分析可以看出,本程序利用了面向对象的思想设计了一个`DATA`类来封装日期的表示与操作。该程序不仅能够处理基本的日期输入...
在给定的压缩包文件中,可能包含了关于如何使用`GregorianCalendar`来获取一年内特定月份的日历信息的练习代码,如`Exercise6_6.java`,以及可能的辅助文件`G`和`H`。 首先,`GregorianCalendar`类继承自抽象类`...
在JavaScript中,处理日期是一项常见的任务,尤其是在构建动态网页和前端应用时。本文将详细解释如何使用JavaScript检测并判断当前日期是否大于指定日期的若干天。首先,我们需要理解JavaScript中的Date对象,它是...
这里定义了两个函数,`inNationalDay`和`inSpringFestival`,用于检查给定日期是否在国庆节或春节期间。函数首先创建一个结果对象,然后根据日期的月份和日期值判断是否在国庆节(9月24日至10月7日)或春节(通常在...
在这个“易语言源码易语言判断某一时间是第几个星期.rar”压缩包中,包含了一个易语言编写的程序,该程序主要用于确定给定日期是当年的第几个星期。 在计算机编程中,处理日期和时间是一项常见的任务。易语言提供了...
另一种常见方法是使用Zeller's Congruence公式,这是一个基于模运算的简单算法,可以计算出给定日期是星期几。Zeller's Congruence公式如下: ``` h = (q + ((13(m+1))/5) + K + (K/4) + (J/4) - 2J) % 7 ``` 其中...
例如,计算两个日期间的工作日数量、确定一个日期所在的季度或者判断某个特定的日期是否存在(如情人节)。这些操作在编写涉及日期的SQL查询时非常常见,并且有助于完成各种复杂的业务逻辑。 最后,文章还提到了在...
5. 日期比较:在代码中,我们可以看到日期比较的实现,例如判断某个日期是否在另一个日期之前。这种日期比较可以帮助我们实现业务逻辑中的日期判断。 6. 日期字符串解析:在代码中,我们可以看到日期字符串解析的...
我们需要通过编程来判断在给定的一段时间内,某项任务的执行频率是否符合这个规律。 C语言是计算机编程的基础语言之一,它具有高效、灵活和跨平台的特点。要实现这个功能,我们需要掌握以下C语言的关键知识: 1. *...