java的时间类

木易 1116 0 1

1.关于Calendar的set()方法延迟修改

       set(f,value)方法将日历字段f更改为value,此外它还设置了一个内部成员变量,以指示日历字段f已经被更改。尽管日历字段f是立即更改的,但是该Calendar所代表的时间却不会被立即更改,知道下次调用get(),getTime(),getTimeMillis(),add()或roll()时才会重新计算日历的时间。这被称为set()方法的延迟修改。

代码示例

public class Test {

    public static void main(String[] args) {

        Calendar cal = Calendar.getInstance();
        //设置当前时间为8月31号
        cal.set(2003,7,31);
       //设置月份为9月,因为9月没有31号,所以Calendar会发生自动进位,变为2019-10-01。也是Calendar 的容错性
        //可以通过setLenient(false)关闭
        cal.set(Calendar.MONTH,8);

        System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime())); //代码1
        cal.set(Calendar.DATE,5);
        System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()));//代码2
    }

}

如果调用代码1处的打印语句,则最终的结果为2003-10-05

如果不调用则打印2003-09-05


评论区
请写下您的评论...
暂无评论...
猜你喜欢
数据库基础 3706 产生原因:数据库区不一致解决办法:在数据库中链接中加:&serverTimezone=Asia/Shanghaiurl:jdbc:mysql://localhost:3306/test
java虚拟机(jvm) 5066 加载器Java加载器(英语:JavaClassloader)是Java运行环境(JavaRuntimeEnvironment)一部分,负责动态加载JavaJava虚拟机内存空中。
其他 2150 戳转格式/*戳转换*/functioncreateTime(v){vardate=newDate(v);vary=date.getFullYear();varm
数据库基础 2688 mysql在一个基础上加n(分钟、小、天)等SELECTDATE_FORMAT(ADDDATE(now(),INTERVAL20MINUTE),'%Y-%m-%d%H:%i:%s')#加20
算法基础 926 java工具importjava.time.LocalDateTime; importjava.time.ZoneId; importjava.time.ZonedDateTime
java 数据库 2609 java项目-数据库之进行数据交换服务(右上方下载)压缩包内附sql脚本,本项目为springboot+mybatis框架,导入项目即可启动测试。目,实现两个数据库定自动进行数据同步,定
java虚拟机(jvm) 4029 首先要知道加载过程包括了加载、验证、准备、解析、初始化五个阶段。java虚拟机加载class过程虚拟机把Class文件加载到内存,然后进行校验,解析和初始化,最终形成java型,这就是虚拟
java基础 1266 一、什么是countDownlatchCountDownLatch是一个同步工具,它通过一个计数器来实现,初始值为线程数量。每当一个线程完成了自己任务,计数器值就相应得减1。当计数器到达0
归档
2018-12  5 2019-01  2 2019-04  1 2019-05  2 2019-06  1 2019-11  1 2019-12  3
标签
博客 java linux springboot 笔记 问题 cloud
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。