java 日期赋值格式,java中日期、日期格式、日期计算学习笔记

本文深入讨论了Java中Calendar对象的容错性,通过示例展示了当Lenient设置为true时,Calendar如何处理超出月份范围的日期,并在Lenient设置为false时抛出异常。同时,文章提到了Calendar的序列化问题,指出在某些情况下Calendar对象可能变得不稳定,可能导致异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2. Calendar 对象的容错性,Lenient 设置 我们知道特定的月份有不同的日期,当一个用户给出错误的日期时,Calendar 如何处理的呢? import java.io.*;

import java.util.*; public class WhatIsCalendar

{

public static void main(String[] args) throws Exception{

Calendar cal1 = Calendar.getInstance();

cal1.set(2000, 1, 32, 0, 0, 0);

System.out.println(cal1.getTime());

cal1.setLenient(false);

cal1.set(2000, 1, 32, 0, 0, 0);

System.out.println(cal1.getTime());

}

} 它的执行结果是: Tue Feb 01 00:00:00 PST 2000

Exception in thread "main" java.lang.IllegalArgumentException

at java.util.GregorianCalendar.computeTime(GregorianCalendar.java:1368)

at java.util.Calendar.updateTime(Calendar.java:1508)

at java.util.Calendar.getTimeInMillis(Calendar.java:890)

at java.util.Calendar.getTime(Calendar.java:871)

at WhatIsCalendar.main(WhatIsCalendar.java:12) 当我们设置该 Calendar 为 Lenient false 时,它会依据特定的月份检查出错误的赋值。 3. 不稳定的 Calendar 我们知道 Calendar 是可以被 serialize 的,但是我们要注意下面的问题 import java.io.*;

import java.util.*; public class UnstableCalendar implements Serializable

{     public static void main(String[] args) throws Exception{

Calendar cal1 = Calendar.getInstance();

cal1.set(2000, 7, 1, 0, 0 , 0);

cal1.set(Calendar.MILLISECOND, 0);

ObjectOutputStream out =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值