Java中Calendar类的常用方法

Java中Calendar类的常用方法Calendar类常用方法的记录:获取时间//使用默认时区和语言环境获得一个日历Calendarcal=Calendar.getInstance();//赋值时年月日时分秒常用的6个值,注意月份下标从0开始,所以取月份要+1System.out.println(“年:”+cal.get(Calendar.YEAR));System.ou

大家好,又见面了,我是你们的朋友全栈君。

Calendar 类常用方法的记录:

获取时间

    // 使用默认时区和语言环境获得一个日历
    Calendar cal = Calendar.getInstance();
    // 赋值时年月日时分秒常用的6个值,注意月份下标从0开始,所以取月份要+1
    System.out.println("年:" + cal.get(Calendar.YEAR));
    System.out.println("月:" + (cal.get(Calendar.MONTH) + 1));       
    System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));
    System.out.println("时:" + cal.get(Calendar.HOUR_OF_DAY));
    System.out.println("分:" + cal.get(Calendar.MINUTE));
    System.out.println("秒:" + cal.get(Calendar.SECOND));

今天是 2018 年 2 月 12 日,运行结果:

:2018:2:12:15:57:39

设置时间

月份的下标从 0 开始,设置时同样需要注意,比如我们设置为 2 月 15 日除夕当晚的倒计时的最后一秒: 2018-02-15 23:59:59
可以这样:

    Calendar cal = Calendar.getInstance();
    // 如果想设置为某个日期,可以一次设置年月日时分秒,由于月份下标从0开始赋值月份要-1
    // cal.set(year, month, date, hourOfDay, minute, second);
    cal.set(2018, 1, 15, 23, 59, 59);

或者也可以单个字段一一设置:

    // 或者6个字段分别进行设置,由于月份下标从0开始赋值月份要-1
    cal.set(Calendar.YEAR, 2018);
    cal.set(Calendar.MONTH, Calendar.FEBRUARY);
    cal.set(Calendar.DAY_OF_MONTH, 15);
    cal.set(Calendar.HOUR_OF_DAY, 23);
    cal.set(Calendar.MINUTE, 59);
    cal.set(Calendar.SECOND, 59);
    System.out.println(cal.getTime());

打印的时间结果为:

    Thu Feb 15 23:59:59 CST 2018

时间计算

add方法:
比如在除夕当晚最后一秒,add 一秒:

    Calendar cal = Calendar.getInstance();
    System.out.println(cal.getTime());
    cal.set(2018, 1, 15, 23, 59, 59);
    cal.add(Calendar.SECOND, 1);
    System.out.println(cal.getTime());

打印时间结果如下,日期会自动进入下一天:

    Thu Feb 15 23:59:59 CST 2018
    Fri Feb 16 00:00:00 CST 2018

再比如 1 月 31 号的时候,月份加一,会出现怎样结果:

    Calendar cal = Calendar.getInstance();
    cal.set(2018, 1, 31, 8, 0, 0);
    System.out.println(cal.getTime());
    cal.add(Calendar.MONTH, 1);
    System.out.println(cal.getTime());

运行结果:

    Wed Jan 31 08:00:00 CST 2018
    Wed Feb 28 08:00:00 CST 2018

说明 add 月份时,会将不存在的日期归为当月日历的最后一天。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131041.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JVM(五)JVM优化之工具「建议收藏」

    JVM(五)JVM优化之工具「建议收藏」前言本章讲解JVM优化中常见的工具的使用方法1.概念在JVM优化的道路上,任重道远,我们需要借助JDK本身的工具进行分析。2.工具详情下面介绍的小工具均在JAVA_HOME/bin下,我的路径是这样的。1)jps:JVMProcessStatusTool,显示系统内所有的JVM进程语法: -q 只输出LVMID,省略主类名称; …

    2022年6月3日
    31
  • traceroute的原理与使用

    traceroute的原理与使用traceroute,路由跟踪,用来跟踪一个分组从源点到终点的整个过程。原理分析traceroute是通过ICMP协议中的时间超时差错报告报文来实现的,他从源主机到目的主机发送一连串的IP数据报p1-pn,并且数据报是无法交付的udp数据报。第一个数据报的TTL设置为1,这样当这个数据报转发到第一个路由器的时候,路由器收到后TTL减1,减完1之后发现TTL变为0,路由器会向源主机发送一个超时差…

    2022年7月21日
    18
  • 超详细的ENSP安装教程附下载地址「建议收藏」

    超详细的ENSP安装教程附下载地址「建议收藏」下载完成后解压,可以得到如下图四个文件:这里面,我们先安装2、3、4,ensp需要下面软件安装完成后方可进行安装。VirtualBox虚拟机安装:这里我们双击运行程序,点击下一步这里面我们可以设置安装的路径,如需设置点击浏览选择安装的路径即可,建议默认,点击下一步这里面默认,选择下一步这里面开始安装,选择是点击安装等待安装完成安装完成后点击完成即可,这里虚拟机就安装完成了。下面我们开始安装Wireshark。……

    2022年10月14日
    2
  • checkout 多选 全选(亲测有效)

    checkout 多选 全选(亲测有效)

    2021年11月8日
    49
  • 利用pycharm安装requests库「建议收藏」

    利用pycharm安装requests库「建议收藏」最近在学python,虽然也没怎么系统的学。像我这种小白giser一般对于编程的态度就是当工具来用,用到什么学一点儿。因为以后的研究可能会涉及到爬数据,所以最近开始试水爬虫。爬虫第一步就是安装第三方库,这里我用requests库。我看了很多博文都是用pipinstall,觉得挺麻烦,后来试了一下直接在pycharm中安装,秒装上。1.打开pycharm,file-setting2.点右侧小加号3、搜索requests库4、installpackage…

    2022年8月28日
    8
  • HDU 4125 Moles 段树+KMP

    HDU 4125 Moles 段树+KMP

    2022年1月8日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号