`

Calendar的用法

    博客分类:
  • java
 
阅读更多
public class CalendarDemo {   
11.11.    public static void main(String[] args) {   
12.12.        System.out.println("当前时间为:");   
13.13.        System.out.println(getCurrentTime());   
14.14.        System.out.println("当前时间一个月前的时间为:");   
15.15.        System.out.println(getOneMonthBeforeCurrentTime());   
16.16.        System.out.println("当前时间一个月后的时间为:");   
17.17.        System.out.println(getOneMonthAfterCurrentTime());   
18.18.        System.out.println("某月的最后一天时间为:");   
19.19.        System.out.println(getLastDayOfMonth());   
20.20.        System.out.println("今年的第一个周一为:");   
21.21.        System.out.println(getFirstMondayOfYear());   
22.22.        System.out.println("今年五月的第二个星期日为:");   
23.23.        System.out.println(getSecondSunDayOfMay());   
24.24.        System.out.print("第一周从:");   
25.25.        System.out.println(getFirstWeekOfYear());   
26.26.    }   
27.27.    // 获得系统当前时间     
28.28.    public static String getCurrentTime() {   
29.29.        Calendar cal = Calendar.getInstance();   
30.30.//      int year = cal.get(Calendar.YEAR);     
31.31.//      int month = cal.get(Calendar.MONTH) + 1;     
32.32.//      int day = cal.get(Calendar.DAY_OF_MONTH);     
33.33.//      return year + "-" + month + "-" + day;     
34.34.        return ""+cal.getTime();   
35.35.    }   
36.36.    // 获得当前时间一个月前的时间     
37.37.    public static String getOneMonthBeforeCurrentTime() {   
38.38.        Calendar cal = Calendar.getInstance();   
39.39.        cal.add(cal.MONTH, -1);   
40.40.           
41.41.        //roll()方法也可以     
42.42.//      cal.roll(Calendar.MONTH, -1);     
43.43.           
44.44.//      return cal.get(cal.YEAR) + "-" + (cal.get(cal.MONTH) + 1) + "-"     
45.45.//              + cal.get(cal.DAY_OF_MONTH);     
46.46.        return ""+cal.getTime();   
47.47.    }   
48.48.    // 获得当前时间一个月后的时间     
49.49.    public static String getOneMonthAfterCurrentTime() {   
50.50.        Calendar cal = Calendar.getInstance();   
51.51.        cal.add(cal.MONTH, 1);   
52.52.//      return cal.get(cal.YEAR) + "-" + (cal.get(cal.MONTH) + 1) + "-"     
53.53.//              + cal.get(cal.DAY_OF_MONTH);     
54.54.        return ""+cal.getTime();   
55.55.    }   
56.56.    // 取得某个月的最后一天     
57.57.    public static String getLastDayOfMonth() {   
58.58.        Calendar cal = Calendar.getInstance();   
59.59.        cal.set(2000, 1, 1);// 2000年2月1日     
60.60.        return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-"   
61.61.                + cal.getActualMaximum(Calendar.DAY_OF_MONTH);   
62.62.    }   
63.63.    // 获得今年的第一个周一     
64.64.    public static String getFirstMondayOfYear() {   
65.65.        Calendar cal = Calendar.getInstance();   
66.66.        cal.set(cal.get(Calendar.YEAR), 0, 1);// 今年的一月一日     
67.67.//      while (true) {     
68.68.//          if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY) {     
69.69.//     
70.70.//              return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-"     
71.71.//              + cal.get(Calendar.DAY_OF_MONTH);     
72.72.//     
73.73.//          } else {     
74.74.//              cal.add(Calendar.DAY_OF_WEEK, 1);     
75.75.//          }     
76.76.//      }     
77.77.        //如果weekDay =2 是周一     
78.78.        int weekDay = cal.get(Calendar.DAY_OF_WEEK);   
79.79.        int monDay=Calendar.MONDAY;   
80.80.        int sumDay = 0;   
81.81.        if (weekDay == monDay) {   
82.82.            sumDay = 0;   
83.83.        }    
84.84.        else{   
85.85.            sumDay=(7-weekDay+monDay);   
86.86.        }   
87.87.        cal.add(Calendar.DAY_OF_MONTH, sumDay);   
88.88.        return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-"   
89.89.        + cal.get(Calendar.DAY_OF_MONTH);   
90.90.    }   
91.91.    //取得五月的第二个星期日     
92.92.    public static String getSecondSunDayOfMay(){   
93.93.        Calendar cal = Calendar.getInstance();   
94.94.        cal.set(cal.get(Calendar.YEAR), 4, 1);//日期设置为今年的5月1日     
95.95.        // 如果weekDay =1 是周日     
96.96.        int weekDay = cal.get(Calendar.DAY_OF_WEEK);   
97.97.        int sunDay=Calendar.SUNDAY;   
98.98.        int sumDay = 0;   
99.99.        if (weekDay == sunDay) {   
100.100.            sumDay = 7;   
101.101.        }    
102.102.        else{   
103.103.            sumDay=(7-weekDay+sunDay)+7;   
104.104.        }   
105.105.        cal.add(Calendar.DAY_OF_MONTH, sumDay);   
106.106.        return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-"   
107.107.        + cal.get(Calendar.DAY_OF_MONTH);   
108.108.    }   
109.109.    //如何取得今年的第一周     
110.110.    /* 
111.111.     * 每年的第一个周开始的时间是这样计算的: 
112.112.     *  即:如果新年开始的1月1号在周四、周五、周六,则新年的第一周开始的时间是在新年的第二个周日; 
113.113.     *  否则,新年第一周开始的时间是在去年的最后一个周日; 
114.114.     */   
115.115.    public static String getFirstWeekOfYear(){   
116.116.        Calendar cal=Calendar.getInstance();   
117.117.//      cal.set(cal.get(Calendar.YEAR), 0,1);//设置时间为1月1日     
118.118.        cal.set(2013, 0,1);   
119.119.        int weekDay=cal.get(Calendar.DAY_OF_WEEK);   
120.120.        int sunDay=Calendar.SUNDAY;   
121.121.        int sumDay = 0;   
122.122.        //如果1月1号是周四、周五、周六     
123.123.        if((weekDay==5)||(weekDay==6)||(weekDay==7)){   
124.124.                sumDay=(7-weekDay+sunDay);   
125.125.            cal.add(Calendar.DAY_OF_MONTH, sumDay);   
126.126.            return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-"   
127.127.            + cal.get(Calendar.DAY_OF_MONTH)+"开始,到"+cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-"   
128.128.            + (cal.get(Calendar.DAY_OF_MONTH)+6)+"结束";   
129.129.        }   
130.130.        else if(weekDay==1){   
131.131.            return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-"   
132.132.            + cal.get(Calendar.DAY_OF_MONTH)+"开始,到"+cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-"   
133.133.            + (cal.get(Calendar.DAY_OF_MONTH)+6)+"结束";   
134.134.        }   
135.135.        else {   
136.136.            sumDay=(7-weekDay+sunDay);   
137.137.            cal.add(Calendar.DAY_OF_MONTH, -sumDay);   
138.138.            return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-"   
139.139.            + cal.get(Calendar.DAY_OF_MONTH)+"开始,到"+cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-"   
140.140.            + (cal.get(Calendar.DAY_OF_MONTH)+6)+"结束";   
141.141.        }   
142.142.           
143.143.    }   
144.144.}   


//得到当前时间前一个小时时间
Calendar upHour = Calendar.getInstance();   
upHour.add(upHour.HOUR, -1);
分享到:
评论

相关推荐

    java的calendar具体用法

    需要注意的是,在比较两个`Calendar`对象是否相等时,应该使用`equals`方法,而不是直接比较对象引用。 #### 六、总结 `Calendar`类是Java中处理日期和时间的重要工具,它提供了丰富的API来满足各种日期处理需求。...

    java中时间类Date和Calendar的使用

    在`dateFormat()`方法中,使用这两个方法分别获取了日期和日期时间的格式化对象,并将当前日期和时间格式化后输出。 `SimpleDateFormat`是`DateFormat`的子类,允许程序员指定日期和时间的格式。在`...

    calendar的用法小结

    使用 Calendar.getInstance() 方法可以取得当前时间,并将其格式化成相应的格式。例如: ```java Calendar rightNow = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); ...

    C#的日历控件使用

    5. **创建子控件**:通过重写`CreateChildControls()`方法,我们可以创建并配置子控件。这里我们将创建一个日历控件,并设置其初始状态和样式。 ```csharp protected override void CreateChildControls() { ...

    Calendar使用示例文件

    ### Calendar使用示例详解 ...通过以上示例代码的详细解析,我们不仅了解了`Calendar`类的基本用法,还掌握了如何获取和设置日期时间的不同字段。这对于日常开发工作中处理日期时间逻辑非常有帮助。

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

    本文将深入探讨其核心特点、使用方法以及如何自定义和扩展。 一、simplecalendar.js的特点 1. 轻量级:simplecalendar.js体积小巧,加载速度快,对页面性能影响小,适合各种规模的项目。 2. 易于集成:通过简单的...

    聊一聊Calendar的使用

    首先,我们来看一下`Calendar`的基本用法。创建一个`Calendar`实例通常需要通过`Calendar.getInstance()`静态方法,这会返回一个`Calendar`的子类实例,通常是`GregorianCalendar`,它是符合公历标准的实现。 ```...

    Android 使用Calendar获取时间信息

    在这个项目中,我们将会深入探讨如何使用`Calendar`来获取年、月、日、时、分以及秒等时间信息。 首先,`Calendar`类不是线程安全的,因此在多线程环境中使用时需要额外注意同步问题。在Android中,我们通常会通过`...

    Java 之 Date 和 Calendar 实例

    然而,`Date`类没有提供修改日期和时间的方法,这导致了`Calendar`类的诞生。`Calendar`是一个抽象类,提供了更为灵活的日期和时间操作。它是线程安全的,可以用于多线程环境。 `Calendar`类的主要方法包括: 1. `...

    前端项目-tui-calendar.zip

    【标题】"前端项目-tui-calendar.zip"是一个包含前端日历组件源代码的压缩包,主要涉及的是"TOAST UI Calendar"。...通过理解其源码结构和使用方法,开发者可以有效地提升Web应用的时间和日程管理能力。

    android日历 calendar的使用

    本篇文章将深入探讨如何在Android应用中使用Calendar类以及与之相关的知识点,包括获取日历的年月日和周、绘制日历界面、处理前后月份以及相关示例代码。 首先,`java.util.Calendar` 是一个抽象类,它提供了日期和...

    Calendar日期代码详解

    - 使用 `getTime()` 方法可以将 `Calendar` 对象转换为 `Date` 对象,便于输出或进一步处理。 #### 3. 总结 通过上述代码示例可以看出,`java.util.Calendar` 类提供了非常强大的日期时间处理功能。它不仅能够...

    drools calendar 使用demo

    这个“drools calendar 使用demo”应该包含了一个实际的应用示例,帮助用户理解如何在项目中有效地利用drools calendar。 drools calendar 的核心概念是通过创建自定义的日历对象来定义特定的时间窗口或时间段,在...

    java中Calendar类用法实例详解

    Java 中 Calendar 类用法实例详解 Java 中的 Calendar 类是一个非常重要的类,它提供了许多有用的方法和字段来处理日期和时间相关的操作。下面我们将详细介绍 Java 中 Calendar 类的用法实例。 首先,Calendar 类...

    Java基础之Date和Calendar类的使用方法

    最后,我们可以通过`getTime()`方法将修改后的Calendar对象转换回Date,然后再次使用DateFormat进行格式化输出: ```java Date updatedDate = calendar.getTime(); System.out.println(formatter.format(updated...

    jscalendar-1.0

    使用方法(里面有例子): <link href=\"/styles/calendar.css\" rel=\"stylesheet\" type=\"text/css\"/> <script type=\"text/javascript\" src=\"<%=ctx%>/js/calendar/calendar.js\"> ...

    PyPI 官网下载 | LunarCalendar-0.0.9.tar.gz

    在实际使用中,开发者可以通过Python的import语句引入LunarCalendar库,然后调用其提供的API进行日期转换。需要注意的是,由于农历计算涉及到复杂的算法,因此在处理大量数据时可能会有性能上的考量,开发者需要根据...

    Calendar和Date的转化

    为了更好地理解和使用这两个类之间的转换方法,本文将详细介绍如何将`Calendar`对象转换为`Date`对象,以及如何将`Date`对象转换为`Calendar`对象。 #### 1. Calendar转为Date `Calendar`类提供了获取当前时间的...

    bootstrap calendar 全年日历显示

    bootstrap calendar 全年日历显示,可做年度行事历等功能,使用起来特别方便,相关使用方法详见官网:http://www.bootstrap-year-calendar.com/#Documentation/Installation

    Python时间模块datetime、time、calendar的使用方法

    `calendar`模块还支持生成HTML格式的日历,使用`HTMLCalendar`类可以方便地生成适合网页展示的日历。 在实际编程中,这些模块的组合使用可以满足各种时间相关的操作需求,例如记录日志、处理时间戳数据、生成日历...

Global site tag (gtag.js) - Google Analytics