一、Calendar和GregorianCalendar的关系

  GregorianCalendar的一点:

  1. // 初始化 Gregorian 日历
  2. // 使用当前时间和日期
  3. // 默认为本地时间和时区
  4. GregorianCalendar gcalendar = new GregorianCalendar();
  5. // 显示当前时间和日期的信息
  6. System.out.print("Date: ");
  7. System.out.print(months[gcalendar.get(Calendar.MONTH)]);
  8. System.out.print(" " + gcalendar.get(Calendar.DATE) + " ");
  9. System.out.println(year = gcalendar.get(Calendar.YEAR));
  10. System.out.print("Time: ");
  11. System.out.print(gcalendar.get(Calendar.HOUR) + ":");
  12. System.out.print(gcalendar.get(Calendar.MINUTE) + ":");
  13. System.out.println(gcalendar.get(Calendar.SECOND));
  14.  
  15. // 测试当前年份是否为闰年
  16. if(gcalendar.isLeapYear(year)) {
  17. System.out.println("当前年份是闰年");
  18. }
  19. else {
  20. System.out.println("当前年份不是闰年");
  21. }

二、 Calendar的使用注意事项

  Java Calendar类月份从零开始计算,故使用Calendar类时,其中的MONTH为实际月份-1。为了显示正确,如果大兄弟你这样作了,那就错了。看代码,你是否犯了这样的错。为了显示正确,直接用set()方法让month+1【笑哭】。

  1. public String getDayTime(Calendar calendar) {
  2. int year = calendar.get(Calendar.YEAR);
  3. int month = calendar.get(Calendar.MONTH);
  4. int day = calendar.get(Calendar.DATE);
  5. calendar.set(year, month + 1, day + 1);
  6. month = calendar.get(Calendar.MONTH);
  7. day = calendar.get(Calendar.DATE);
  8. return "(" + month + "月" + day + ")";
  9. }

正确做法:

  1. /**
  2. * 获取当前时间一天以后的时间
  3. */
  4. public static String getAfterDayTime() {
  5. Calendar calendar = Calendar.getInstance();
  6. calendar.setTime(new Date());
  7. int day = calendar.get(Calendar.DATE);
  8. calendar.set(Calendar.DATE, day + 1);
  9. int month = calendar.get(Calendar.MONTH);
  10. day = calendar.get(Calendar.DAY_OF_MONTH);
  11. return "(" + (month + 1) + "月" + day + ")";//只要在结果上给month加1,这样显示就正确了
  12. }

Calendar的使用注意的更多相关文章

  1. Java 时间类-Calendar、Date、LocalDate/LocalTime

    1.Date 类 java.util.Date是一个"万能接口",它包含日期.时间,还有毫秒数,如果你只想用java.util.Date存储日期,或者只存储时间,那么,只有你知道哪 ...

  2. Js: Extensible Calendar Examples

    http://ext.ensible.comhttps://github.com/bmoeskau/Extensiblehttps://github.com/TeamupCom/extensibleh ...

  3. Calendar类

    Calendar类 注意:根据日历规则,如果想要这个月减去5天,那么则为: add(Calendar.Day,-5) 成员方法: public int get(int field):返回给定日历段的值 ...

  4. This month Calendar

    package fourth;import java.text.DateFormatSymbols;import java.util.*;public class CalendarTest { pub ...

  5. calendar的一些操作

    一.通过分析日期函数,根据日期进行一系列操作,例如:我们需要知道2个时间段中所有的日期等等. 由于Calendar 类是一个抽象类,因此我们不能通过new来获取该对象的实例.我们可以通过其类方法 ge ...

  6. java-String Date Calendar之间的转换

    1.Calendar 转化 String Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDa ...

  7. jQuery Ion.Calendar 日期/日历

    在线实例 实例演示 默认 实例演示 每周第一天 实例演示 输入框插件 实例演示 HTML data 属性 实例演示 回调函数1 实例演示 回调函数2 使用方法 <div id="cal ...

  8. [java] 可视化日历的实现(基于Calendar类 )

    写在前面 博文安排顺序如下 1.写在前面 2.源码 3.思路 4.相关知识 该小程序是对Date类及其相关类的复习 要求如下图:实现可视化日历 实现思路 1.先从键盘输入指定格式的字符串(str)2. ...

  9. WPF 点击Calendar后,需要点击两次按钮

    主面板上有一个Calendar控件,点击选择了日期后,如果点击确认按钮,需要点击两次.这个问题的解决方法如下:     private void calendar1_PreviewMouseUp(ob ...

  10. 【JAVA】JDK -Calendar 遇到的 一个坑

    Calendar是JDK 1.1增加的类 最近使用了下Calendar发现几个很让人抓狂的问题 源码: public final static int SUNDAY = 1; public final ...

随机推荐

  1. python opencv 检测特定颜色

    import cv2 import numpy as np cap = cv2.VideoCapture(0) # set blue thresh 设置HSV中蓝色.天蓝色范围 lower_blue ...

  2. MySQL修改库名的方法

    先创建新的库,再用RENAME TABLE 语句移动旧库中的表到新库,最后删除旧库. (root@localhost) [(none)] create database mydb_2; Query O ...

  3. django创建app、在视图函数及url中使用参数、url命名、通过redirect实现网页路径跳转

    app用来实现一个独立的功能,视图一般都写在app的view.py中,并且视图的第一个参数永远是request,视图的返回值必须是HttpResponseBase对象或子类的对象. 创建一个app:f ...

  4. Vue小案例 之 商品管理------批量删除与商品数量的调整

    通过索引进行删除,进行测试,是否获取其索引: 测试效果: 测试代码,在vue中定义一个空的数组,以便后面进行数据的绑定: data:{ imgUrl:'../res/images/', imgName ...

  5. P3302 [SDOI2013]森林(主席树+启发式合并)

    P3302 [SDOI2013]森林 主席树+启发式合并 (我以前的主席树板子是错的.......坑了我老久TAT) 第k小问题显然是主席树. 我们对每个点维护一棵包含其子树所有节点的主席树 询问(x ...

  6. bzoj4720 / P1850 换教室(Floyd+期望dp)

    P1850 换教室 先用Floyd把最短路处理一遍,接下来就是重头戏了 用 f [ i ][ j ][ 0/1 ] 表示在第 i 个时间段,发出了 j 次申请(注意不一定成功),并且在这个时间段是否( ...

  7. Centos7编译安装zabbix-4.0.1

    架构组合:nginx1.9.10+php7.0.32+mysql5.7.22+zabbix4.0.1 nginx1.9.10 先装依赖 openssl-1.1.0f tar zxvf openssl- ...

  8. Magnum Kubernetes源码分析(二)

    Kubernetes Master Stack kubernetes master的stack的resources主要分为三个部分. master wait handle wait handle主要用 ...

  9. HTTP协议和XMPP协议、MQTT协议

    应用层协议:每个应用层的都是为了解决某一类应用问题.而问题的解决又必须通过位于不同主机中的多个应用进程之间的通信和协同工作来完成.应用进程之间必须遵守严格的规则.应用层协议应当定义如下几个: 应用进程 ...

  10. Django框架 (一) 虚拟环境配置及简单使用

    虚拟环境 什么是虚拟环境 对真实的python解释器的一个拷贝版本 是事实有效的,可以独立存在运行解释python代码 可以在计算机上拷贝多个虚拟环境 为什么要使用虚拟环境 保证真实环境的纯净性 框架 ...