`
无形浪子
  • 浏览: 19362 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java 获取指定日期的最后一个星期一到星期日

阅读更多

话不多说,直接上代码


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);
    }
}
 
1
0
分享到:
评论

相关推荐

    java 获取时间 本周本年本月第一天最后一天

    这里的关键在于`setFirstDayOfWeek()`方法用于指定每周的第一天,默认情况下,每周的第一天是星期日(`Calendar.SUNDAY`),但可以通过此方法将其更改为星期一(`Calendar.MONDAY`)。接下来,通过设置`DAY_OF_WEEK`...

    java根据日期计算年龄和星期

    获取指定日期是星期几可以通过`Calendar`类来实现。下面是一个示例代码: ```java Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH, 16); // 设置日期 calendar.set(Calendar....

    获取指定日期的方法总结

    本文将深入探讨如何在Java中获取指定日期,包括当天日期、本周一日期、本周日日期以及上周一日期的方法。让我们逐一解析这些知识点。 首先,我们要知道Java提供了多种处理日期和时间的类,如`java.util.Date`、`...

    将指定的日期转换为星期

    在这个特定的问题中,我们需要实现一个功能,让用户通过下拉列表选择输入指定的日期,然后系统将其转换为对应的星期数。这个过程涉及到编程语言中的日期处理函数和数据类型。 首先,我们要理解日期和星期之间的关系...

    java中计算某个月的工作日总共几天

    - 在一般情况下,工作日指的是星期一到星期五。 - 需要考虑节假日的影响,但本例不涉及此部分逻辑。 #### 二、关键方法解析 **1. getMonthFirstDate 方法** 该方法用于获取指定月份的第一天日期。 ```java ...

    根据日期获取该日期星期几

    需要注意的是,这里的计算结果是从1到7,其中1代表星期一,7代表星期日。 4. **结果转换**: - 通过`switch`语句将数字结果转换为汉字表示的星期几。 ### 总结 通过以上分析可以看出,该函数实现了一个简单而...

    JAVA日期操作汇总

    `roll()`方法与`add()`方法类似,但不同之处在于,`roll()`不会跨过边界,例如,如果当前日期已经是月份的第一天,再用`roll()`减去一天时,日期不会变成上一个月的最后一日。 #### 6. 计算两个日期之间的间隔 ...

    java版日期计算器

    这些类提供了丰富的静态工厂方法,如`now()`(获取当前日期/时间)、`of()`(指定日期/时间)和`plusDays()`、`minusMonths()`等方法进行日期计算。 4. **日期计算器的核心功能**: - **日期相加和相减**:通过...

    java 日期算法

    首先,需要创建一个 `Calendar` 对象,设置年和月,然后使用 `getActualMaximum` 方法获取该月份的最大天数。 日期类的格式化输出 日期类的格式化输出是指将日期类转换为特定的字符串格式。 Java 提供了 `...

    java中队日期的操作

    这里使用了`GregorianCalendar`类,它可以设置一周的第一天(默认是星期日,这里设置为星期一)和最小的一周天数(默认是4,这里设置为7)。然后通过`get(Calendar.WEEK_OF_YEAR)`获取周数。 6. **获取某天所在周的...

    java星期几的计算程序

    本程序采用了一种基本的方法,即根据两个日期之间的天数差以及已知的一个星期中的某一天(例如星期一)来计算另一个日期是星期几。 ### 2. 日期计算中的闰年判断 闰年的判断是日期计算中非常重要的一步,因为闰年...

    java对日期的控制

    综上所述,以上方法涵盖了Java中对于日期的基本控制需求,包括获取当前日期、星期几的计算、指定日期的计算以及两个日期之间的时间差计算等。通过合理的组合使用这些方法,可以灵活地解决各种日期相关的问题。

    Java_Date_日期时间整理

    一、获取服务器端当前日期 在 Java 中,可以使用 `java.util.Date` 类来获取服务器端当前日期。可以使用以下代码来获取当前日期: ```java &lt;%@ page import="java.util.Date"%&gt; (); %&gt; ``` 二、获取当前年、月、日 ...

    java 获取年月日的代码

    这里通过`(c.get(Calendar.DAY_OF_WEEK) + 5) % 7 + 1`进行了一些转换,使得结果为1(星期一)到7(星期日)之间的整数。 - `c.get(Calendar.HOUR_OF_DAY)`:获取小时数(24小时制)。 - `c.get(Calendar.MINUTE)`...

    利用Java计算某个日期是星期几

    在给定的示例中,我们看到一个名为`DayOfWeek4Birthday`的类,它用于计算并打印出指定日期在一定年份范围内是星期几。这个程序主要包含两个核心方法:`inputData`和`caculateData`。 `inputData`方法负责接收用户...

    java课程日历,输入日期打印日历

    对于输入年月打印该月日历和输入年月日打印星期的功能,可以在上述`printMonth`方法基础上进行扩展,增加对具体日期的处理,如判断指定日期是星期几: ```java public String getDayOfWeek(int year, int month, ...

    java万年历代码.java万年历代码

    本项目实现了一个简单的Java万年历程序,用户可以通过输入指定的年份和月份来查询该月的日历。程序首先会判断输入年份是否为闰年,并计算出指定月份的第一天是星期几,然后输出该月份的日历。 ### 2. 代码结构解析 ...

    java最全时间工具类,针对年月日周的操作

    java时间操作工具类,已封装好,包含获取某一时间的年,月,日,星期。以及对某一时间进行年,月,日,周的加减。还有获取某一时间年,月,日,周的起始和结束时间等等

    根据日期获取当前是星期几

    4. **`DayOfWeek` 属性**:返回一个枚举值,表示指定日期是一周中的哪一天。 #### 代码详解 接下来,我们将逐步分析提供的代码片段,并对其进行改进和解释。 ```csharp private string GetDayOfWeek(string day) ...

Global site tag (gtag.js) - Google Analytics