话不多说,直接上代码
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 功能描述: * <p/> * 版权所有: * <p/> * * @author 新增日期:2016-07-12 * @author 修改日期:2016-07-12 * @version 1.0.0 * @since 1.0.0 */ public class Test { public static final SimpleDateFormat FMT_YMD = new SimpleDateFormat("yyyy-MM-dd"); public static void main(String[] args) { getDate(parseDate("2016-06-20", "yyyy-MM-dd"),1);// 1 星期天下标 } public static void getDate(Date date,int day){ int b = day ;//星期几 的下标 ,假如 星期三 ,下标就是4,星期日的下标是1, //java实现一个月的最后一个星期天 Calendar instance = Calendar.getInstance(); //System.out.println(instance.getTime()); //System.out.println(instance.get(Calendar.THURSDAY)); instance.setTime(date); instance.add(Calendar.MONTH, 1);//月份+1 instance.set(Calendar.DAY_OF_MONTH, 1);//天设为一个月的第一天 //System.out.println(instance.getTime()); instance.add(Calendar.DAY_OF_MONTH, -1);//本月最后一天 //System.out.println(instance.getTime()); int a = instance.get(Calendar.DAY_OF_WEEK); System.out.println("a="+a); instance.add(Calendar.DAY_OF_MONTH, b - a > 0?-a-(7-b):b-a);//根据月末最后一天是星期几,向前偏移至最近的周几 //System.out.println(instance.get(Calendar.THURSDAY)); String date_str = formatDate(instance.getTime(), FMT_YMD); System.out.println(date_str); } public static Date parseDate(String strDate, String pattern) { SimpleDateFormat df = new SimpleDateFormat(pattern); try { return df.parse(strDate); } catch (ParseException e) { e.printStackTrace(); return null; } } public static String formatDate(Date date, SimpleDateFormat sdf) { return sdf.format(date); } }
相关推荐
这里的关键在于`setFirstDayOfWeek()`方法用于指定每周的第一天,默认情况下,每周的第一天是星期日(`Calendar.SUNDAY`),但可以通过此方法将其更改为星期一(`Calendar.MONDAY`)。接下来,通过设置`DAY_OF_WEEK`...
获取指定日期是星期几可以通过`Calendar`类来实现。下面是一个示例代码: ```java Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH, 16); // 设置日期 calendar.set(Calendar....
本文将深入探讨如何在Java中获取指定日期,包括当天日期、本周一日期、本周日日期以及上周一日期的方法。让我们逐一解析这些知识点。 首先,我们要知道Java提供了多种处理日期和时间的类,如`java.util.Date`、`...
在这个特定的问题中,我们需要实现一个功能,让用户通过下拉列表选择输入指定的日期,然后系统将其转换为对应的星期数。这个过程涉及到编程语言中的日期处理函数和数据类型。 首先,我们要理解日期和星期之间的关系...
- 在一般情况下,工作日指的是星期一到星期五。 - 需要考虑节假日的影响,但本例不涉及此部分逻辑。 #### 二、关键方法解析 **1. getMonthFirstDate 方法** 该方法用于获取指定月份的第一天日期。 ```java ...
需要注意的是,这里的计算结果是从1到7,其中1代表星期一,7代表星期日。 4. **结果转换**: - 通过`switch`语句将数字结果转换为汉字表示的星期几。 ### 总结 通过以上分析可以看出,该函数实现了一个简单而...
`roll()`方法与`add()`方法类似,但不同之处在于,`roll()`不会跨过边界,例如,如果当前日期已经是月份的第一天,再用`roll()`减去一天时,日期不会变成上一个月的最后一日。 #### 6. 计算两个日期之间的间隔 ...
这些类提供了丰富的静态工厂方法,如`now()`(获取当前日期/时间)、`of()`(指定日期/时间)和`plusDays()`、`minusMonths()`等方法进行日期计算。 4. **日期计算器的核心功能**: - **日期相加和相减**:通过...
首先,需要创建一个 `Calendar` 对象,设置年和月,然后使用 `getActualMaximum` 方法获取该月份的最大天数。 日期类的格式化输出 日期类的格式化输出是指将日期类转换为特定的字符串格式。 Java 提供了 `...
这里使用了`GregorianCalendar`类,它可以设置一周的第一天(默认是星期日,这里设置为星期一)和最小的一周天数(默认是4,这里设置为7)。然后通过`get(Calendar.WEEK_OF_YEAR)`获取周数。 6. **获取某天所在周的...
本程序采用了一种基本的方法,即根据两个日期之间的天数差以及已知的一个星期中的某一天(例如星期一)来计算另一个日期是星期几。 ### 2. 日期计算中的闰年判断 闰年的判断是日期计算中非常重要的一步,因为闰年...
综上所述,以上方法涵盖了Java中对于日期的基本控制需求,包括获取当前日期、星期几的计算、指定日期的计算以及两个日期之间的时间差计算等。通过合理的组合使用这些方法,可以灵活地解决各种日期相关的问题。
一、获取服务器端当前日期 在 Java 中,可以使用 `java.util.Date` 类来获取服务器端当前日期。可以使用以下代码来获取当前日期: ```java <%@ page import="java.util.Date"%> (); %> ``` 二、获取当前年、月、日 ...
这里通过`(c.get(Calendar.DAY_OF_WEEK) + 5) % 7 + 1`进行了一些转换,使得结果为1(星期一)到7(星期日)之间的整数。 - `c.get(Calendar.HOUR_OF_DAY)`:获取小时数(24小时制)。 - `c.get(Calendar.MINUTE)`...
在给定的示例中,我们看到一个名为`DayOfWeek4Birthday`的类,它用于计算并打印出指定日期在一定年份范围内是星期几。这个程序主要包含两个核心方法:`inputData`和`caculateData`。 `inputData`方法负责接收用户...
对于输入年月打印该月日历和输入年月日打印星期的功能,可以在上述`printMonth`方法基础上进行扩展,增加对具体日期的处理,如判断指定日期是星期几: ```java public String getDayOfWeek(int year, int month, ...
本项目实现了一个简单的Java万年历程序,用户可以通过输入指定的年份和月份来查询该月的日历。程序首先会判断输入年份是否为闰年,并计算出指定月份的第一天是星期几,然后输出该月份的日历。 ### 2. 代码结构解析 ...
java时间操作工具类,已封装好,包含获取某一时间的年,月,日,星期。以及对某一时间进行年,月,日,周的加减。还有获取某一时间年,月,日,周的起始和结束时间等等
4. **`DayOfWeek` 属性**:返回一个枚举值,表示指定日期是一周中的哪一天。 #### 代码详解 接下来,我们将逐步分析提供的代码片段,并对其进行改进和解释。 ```csharp private string GetDayOfWeek(string day) ...