`
ft4453080
  • 浏览: 14539 次
  • 性别: Icon_minigender_1
  • 来自: 天津
文章分类
社区版块
存档分类
最新评论

Calendar设置月份小问题

 
阅读更多

在调查一个报表的计算问题时,偶然发现报表会报错

根据错误信息看到,是生成SHEETName的时候,出现了重复的名字。SheetName都是以月份的英文简写作为名称的。而且是循环得到的。怎么会重复呢?这个报表在这个处理的时候是采用了一下方式:

 DateFormat df = new SimpleDateFormat("MMM", Locale.US);

       Calendar cal = Calendar.getInstance();

       for(int i=0;i<12;i++){

        cal.set(Calendar.MONTH,i);

         System.out.println(df.format(cal.getTime()));

       }

}

输出结果

【Wed Jan 30 11:04:18 GMT+08:00 2013

Sat Mar 02 11:04:18 GMT+08:00 2013

Sat Mar 02 11:04:18 GMT+08:00 2013

Tue Apr 02 11:04:18 GMT+08:00 2013

Thu May 02 11:04:18 GMT+08:00 2013

Sun Jun 02 11:04:18 GMT+08:00 2013

Tue Jul 02 11:04:18 GMT+08:00 2013

Fri Aug 02 11:04:18 GMT+08:00 2013

Mon Sep 02 11:04:18 GMT+08:00 2013

Wed Oct 02 11:04:18 GMT+08:00 2013

Sat Nov 02 11:04:18 GMT+08:00 2013

Mon Dec 02 11:04:18 GMT+08:00 2013】

其他月份都没问题,二月就“出错了”。这是怎么回事呢?原来Calendar在进行set的时候很贴心的去检查set后的时间是否合法。因为今天是12月30号,设置月份为2月之后,2月是没有30号的。而所谓的2月30号也就是3月2号。

避免这个问题最简单的修改方式就是先把日期调整到1号,每个月都有1号嘛。这样就不会出现类似问题了。

分享到:
评论

相关推荐

    小程序插件 vue Calendar 日历

    【小程序插件 Vue Calendar 日历】是专门为Vue.js框架设计的一款高效、易用的日历组件,适用于微信小程序开发。此组件充分利用了Vue.js的特性,提供了丰富的功能和自定义选项,使得开发者能够快速构建具有日历展示...

    微信小程序日历组件,支持农历日期显示,月份视图和周...wx-calendar-master.zip

    在这个“wx-calendar-master.zip”压缩包中,包含了一个专门针对微信小程序设计的日历组件,它支持农历日期显示以及月份视图和周视图功能,这在很多需要日期选择或者日程管理的应用场景中非常实用。 日历组件是UI...

    Calendar一个自定义灵活的日历选择器

    2. **自定义设置**:开发者可以为每个日期设定初始样式,这包括但不限于背景色、字体颜色等,使得日历的视觉效果可以根据应用的品牌风格进行调整。此外,点击日期后的回调功能允许开发者添加特定的逻辑,如检查某...

    水平滚动当前月份的日历WeekCalendar

    水平滚动当前月份的日历控件,通常被称为WeekCalendar,是一种用户界面组件,它允许用户以横向方式查看和操作日历。这种设计模式在现代Web应用和移动应用中颇为流行,因为它提供了更直观、灵活的用户体验,尤其是在...

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

    view: 'month', // 默认显示为月份视图 events: [{ // 添加事件数据 date: '2022-07-01', title: '国庆节' }] }); ``` ### 功能扩展 除了基础的日历展示,calendar.js还支持添加自定义事件,如点击日历项触发...

    java 中Calendar日期格式的转换

    需要注意的是,月份是以0为一月开始计数的,所以0实际上代表了1月。 ### 3. 日期格式的转换 在Java中,我们可以使用`SimpleDateFormat`类来格式化和解析日期字符串。这个类允许我们指定日期/时间的格式,然后将`...

    可切换月份的日历Calendar视图

    可切换月份的日历Calendar视图,不错的日历视图,可以上下滑动切换月份,可以点击某一天,进入查看该天的事件(按小时分),可以添加事件等,片段安卓源码频道。 This project is meant for people who want to ...

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

    然而,原始版本可能存在一些限制,如语言切换、位置设置以及事件处理等方面的问题。针对这些问题,开发者进行了改进,使其更加灵活和实用。 改进点如下: 1. **语言切换**:修复了原组件无法切换语言的bug,现在...

    Android 使用Calendar获取时间信息

    首先,`Calendar`类不是线程安全的,因此在多线程环境中使用时需要额外注意同步问题。在Android中,我们通常会通过`getInstance()`静态方法获取一个`Calendar`实例。这个方法会返回当前系统的时间,即`java.util....

    Java 之 Date 和 Calendar 实例

    2. `get(int field)`:获取指定字段(如月份、日期、小时等)的值。 3. `set(int field, int value)`:设置指定字段的值。 4. `add(int field, int amount)`:在指定字段上增加或减少一定量的时间。 5. `getTime()`...

    UICalendar.rar

    `UICalendar`提供了流畅的动画效果,使得月份切换更加自然。 4. **指定日期设置**:开发者可以通过API设置默认显示的日期,或者限制用户只能选择某个范围内的日期,这对于预订系统或活动报名等功能非常有用。 5. *...

    Calendar-js选日期

    官方文档通常会提供详细的API参考、配置选项以及常见问题解答,是学习和使用该库的重要资源。 总的来说,Calendar-js作为一个强大的JavaScript日历组件,提供了丰富的功能和高度的可定制性,对于任何需要日期选择...

    Calendar日期代码详解

    - 注意,`Calendar` 的月份是从0开始的(即0表示一月,1表示二月等)。 - **显示日期时间信息**: - 使用 `get()` 方法获取当前日期时间的各个组成部分,如月份、日期、年份、小时、分钟和秒等。 - 在输出月份时...

    日历calendar详细代码

    例如,`int year = calendar.get(Calendar.YEAR)`将获取当前设置的年份。 4. **增加/减少日期**:`add`方法可以用来增加或减少某个日期字段。例如,`calendar.add(Calendar.DAY_OF_MONTH, 1)`会将日期向前推进一天...

    java的calendar具体用法

    `Calendar`类提供了一系列的功能来帮助开发者处理复杂的日期计算问题,比如日期的加减、获取特定日期组件等。 #### 二、Calendar类的基本概念 `Calendar`类是一个抽象类,它代表了一个特定时刻(瞬间)的具体日期...

    android日历 calendar的使用

    例如,`calendar.get(Calendar.YEAR)` 获取年份,`calendar.get(Calendar.MONTH)` 获取月份(注意,月份是从0开始的,1代表二月),`calendar.get(Calendar.DAY_OF_MONTH)` 获取月份中的第几天,`calendar.get...

    Calendar使用示例文件

    `getInstance()`方法返回一个配置了当前日期和时间的`Calendar`实例,可以用于获取或设置各种日期和时间字段。 ##### 2. 输出日期和时间字段 ```java System.out.println("ERA:" + calendar.get(Calendar.ERA)); ...

    Java中Calendar类.pdf

    这个方法会返回一个具体`Calendar`实现的实例,通常是根据系统的默认区域设置来创建。例如: ```java Calendar c = Calendar.getInstance(); ``` `Calendar`类提供了多种`set`方法来设置日期和时间的不同字段,如...

    Calendar万年历

    5. **本地化支持**:考虑到全球不同的日期格式和节假日,可能会有针对不同地区的语言和文化设置。 6. **事件管理**:添加、删除和查看日程事件的逻辑。 7. **测试代码**:确保程序的正确性和稳定性,可能包括单元...

    Calendar常用属性

    如果需要修改某个属性,可以使用`set()`方法,如`calendar.set(Calendar.MONTH, Calendar.DECEMBER)`将月份设置为12,即December。 除了基本的属性操作,`Calendar`还提供了以下功能: 1. 添加或减去时间单位:`...

Global site tag (gtag.js) - Google Analytics