`

Calendar

    博客分类:
  • java
阅读更多
public class CalendarUtil implements Serializable {

    /**  */
    private static final long serialVersionUID = 3491231220111885316L;

    // 获得当前日期
    public static String getDate() {
        Calendar cal = Calendar.getInstance();
        return getDate(cal);
    }

    // 获得日期
    private static String getDate(Calendar cal) {
        String v_strDate = "";
        SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
        v_strDate = formatter.format(cal.getTime());
        return v_strDate;
    }

    // 获得本周X的日期
    public static String getThisMondayDate(int dayOfWeek) {
        Calendar cal = Calendar.getInstance();
        cal.setFirstDayOfWeek(Calendar.MONDAY);
        int mondayPlus = getDayOfWeek(dayOfWeek);
        cal.set(Calendar.DAY_OF_WEEK, mondayPlus);
        return getDate(cal);
    }

    // 获得下周X的日期
    public static String getNextMondayDate(int dayOfWeek) {
        Calendar cal = Calendar.getInstance();
        cal.setFirstDayOfWeek(Calendar.MONDAY);
        int mondayPlus = getDayOfWeek(dayOfWeek);
        cal.set(Calendar.DAY_OF_WEEK, mondayPlus);
        cal.add(Calendar.DATE, 7);
        return getDate(cal);
    }

    /**
     * 获得本月X号的日期
     * 
     * @param day
     * @return
     */
    public static String getCurrentMonthBeginDate(String day) {
        Calendar cal = Calendar.getInstance();
        if ("LASTDAY".equals(day)) {
            cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));
        } else {
            cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(day));
        }
        return getDate(cal);
    }

    /**
     * 获得当前日期
     * 
     * @param day
     * @return
     */
    public static String getCurrentDate() {
        Calendar cal = Calendar.getInstance();
        return getDate(cal);
    }

    /**
     * 获取星期
     * 
     * @param day
     * @return
     */
    public static int getDayOfWeek(int day) {
        int dayofweek = 0;
        switch (day) {
            case 1:
                dayofweek = Calendar.MONDAY;
                break;
            case 2:
                dayofweek = Calendar.TUESDAY;
                break;
            case 3:
                dayofweek = Calendar.WEDNESDAY;
                break;
            case 4:
                dayofweek = Calendar.THURSDAY;
                break;
            case 5:
                dayofweek = Calendar.FRIDAY;
                break;
            case 6:
                dayofweek = Calendar.SATURDAY;
                break;
            case 7:
                dayofweek = Calendar.SUNDAY;
                break;
        }
        return dayofweek;
    }

    /**
     * 获得下个月X号的日期
     * 
     * @param day
     * @return
     */
    public static String getNextMonthBeginDate(String day) {
        Calendar cal = Calendar.getInstance();

        if ("LASTDAY".equals(day)) {
            cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1);
            cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));
        } else {
            cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1);
            cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(day));
        }
        return getDate(cal);
    }


    public static void main(String[] args) {
        // System.out.println(getCurrentMonthBeginDate("LASTDAY"));
//        System.out.println(getThisMondayDate(5));
//        System.out.println(getNextMondayDate(5));
        System.out.println(getCurrentDate());
    }
}

 

分享到:
评论

相关推荐

    Java 之 Date 和 Calendar 实例

    在Java编程语言中,`Date`和`Calendar`类是处理日期和时间的核心组件。这两个类在不同的Java版本中有着不同的使用方式和功能,对于理解Java时间处理机制至关重要。本篇将深入探讨`Date`和`Calendar`类的实例应用。 ...

    ASP.NET Calendar如何给每天添加日志

    ASP.NET Calendar日志添加方法 ASP.NET Calendar控件是ASP.NET中常用的日历控件,用于显示日期和事件信息。然而,在实际应用中,我们经常需要对每天添加日志信息,以便更好地记录和管理事件。本文将详细介绍如何...

    wpf Calendar日期高亮显示

    在Windows Presentation Foundation (WPF) 中,`Calendar` 控件是一个非常实用的组件,用于展示日期并允许用户选择。在一些应用中,我们可能需要对特定的日期进行高亮显示,以便突出重要的日程或者提醒用户关注。本...

    simplecalendar.js记录事件的日历插件

    《深入解析simplecalendar.js:构建记录事件的日历插件》 在现代网页设计中,日历插件已经成为不可或缺的一部分,它能帮助用户直观地管理时间安排和事件记录。"simplecalendar.js"是一款轻量级、易用且功能丰富的...

    漂亮的jQuery事件日历插件calendar.js

    **jQuery事件日历插件calendar.js详解** 在网页设计中,日历插件是一个非常实用的元素,尤其在处理日期相关的交互时。"漂亮的jQuery事件日历插件calendar.js"正是这样一个工具,它能帮助开发者轻松地在网页上集成...

    JAVA LunarCalendar返回农历(阴历)日期 JAR包 有包括详细DOC文档

    LunarCalendar返回农历(阴历)日期的JAR包 根据指定日期计算对应农历日期(这个计算方法是网上找的,最初的作者是谁已经无法考证了,感谢网络资源吧!),本人封装成好用的JAR包后发不出来,供大家免费下载! ...

    基于Vue2-Calendar改进的日历组件(含中文使用说明)

    本文将详细介绍一个基于Vue2-Calendar组件进行改进的日历组件,该组件在原版基础上进行了多项优化,以满足更多样化的使用需求。首先,让我们了解一下Vue2-Calendar的基础知识。 Vue2-Calendar是一款适用于Vue.js...

    calendar选择时间控件,绝对好用

    本文将深入探讨“calendar选择时间控件”的实现及其特点,以满足用户对于日期和时间输入的需求。 首先,一个优秀的calendar时间控件需要提供直观、易用的界面,使用户能够方便快捷地选取日期或日期与时间。正如标题...

    Qt-Qml-Calendar_qml_QT_qml日历控件_calendar_

    标题"Qt-Qml-Calendar_qml_QT_qml日历控件_calendar_"指的是一个专门用于创建日历组件的QML项目。这个项目可能包含了完整的源代码、示例和文档,帮助开发者快速理解和应用QML日历控件到他们的Qt应用程序中。 描述中...

    日历插件calendar.js

    《calendar.js:构建高效日历插件的指南》 在当今的Web开发中,日历插件已经成为不可或缺的一部分,尤其在处理与日期相关的任务时。本文将深入探讨名为"calendar.js"的JavaScript日历插件,它允许用户轻松地设置...

    WebCalendar网页日历控件(js,javascript)

    WebCalendar是一款基于JavaScript的网页日历控件,它允许用户在网页上方便地选择和操作日期,极大地提升了用户在网页上的交互体验。这个控件主要适用于那些需要在网页上进行日期输入或者事件管理的应用,例如在线...

    jscalendar-1.0

    <script type=\"text/javascript\" src=\"<%=ctx%>/js/calendar/calendar.js\"> <script type=\"text/javascript\" src=\"<%=ctx%>/js/calendar/calendar-zh.js\"> ...

    C#自定义控件Calendar、DatePicker样式

    标题"**C#自定义控件Calendar、DatePicker样式**"表明了这个项目的目标是通过C#编程语言,对WPF的内置`Calendar`和`DatePicker`控件进行样式定制。这通常涉及到修改控件的模板,如边框、背景、字体大小、颜色等,以...

    日历年月日时分秒控件myCalendar.js

    《日历年月日时分秒控件myCalendar.js详解》 在前端开发中,日期选择器是一个常见的组件,它能够帮助用户方便地选取日期和时间。`myCalendar.js`是一款小巧而功能强大的JavaScript库,专为创建日历年月日时分秒控件...

    jquery calendar.js日历选择控件带节日日历选择器

    `jQuery Calendar.js`是一款基于JavaScript库`jQuery`的插件,用于实现日历选择功能,同时它具有节日显示的功能,增强了用户体验。这个控件能够帮助用户在网页上方便地选择日期,常见于在线预订系统、事件安排或者...

    Microsoft Calendar Control 9.0.0.2607

    微软的Calendar Control 9.0.0.2607是一款经典的日历控件,它在Visual Basic(VB)环境中广泛使用,为开发者提供了一种简单直观的方式来集成日期选择功能到他们的应用程序中。这个控件的全名是MSCAL.OCX,是一个...

    bootstrap_calendar Demo

    Bootstrap Calendar是一款基于Bootstrap框架开发的日历插件,它为网页应用提供美观且功能丰富的日历视图。在这款Demo中,我们将深入探讨如何利用Bootstrap Calendar创建互动式日历,并了解其核心特性、安装步骤以及...

    microsoft calendar control 11.0.8161.0

    总之,Microsoft Calendar Control 11.0.8161.0是VB开发中一个实用的日期选择工具,虽然有其历史局限性,但在适当的场景下,仍然可以提供方便的功能和良好的用户体验。在开发过程中,理解其工作原理,合理利用其API...

    calendar

    标题 "calendar" 提供的信息表明,我们关注的是一个与日历功能相关的JavaScript代码,它用于网页中的日期选择。在网页开发中,用户友好的日期选择器是必不可少的,特别是对于那些涉及日期输入或事件调度的应用。...

    uni-app 插件 Calendar 日历多选 (不是范围选择)

    【uni-app插件Calendar日历多选】是一个用于在uni-app框架中实现多日期选择功能的组件。uni-app是一款基于Vue.js开发的多端统一框架,它允许开发者编写一次代码,就能运行在H5、微信小程序、支付宝小程序、百度小...

Global site tag (gtag.js) - Google Analytics