Java日期处理基础与常用格式转换

需积分: 24 0 下载量 83 浏览量 更新于2024-09-15 收藏 14KB TXT 举报
"Java日期处理是编程中常见的任务,特别是在处理时间相关操作时。本文档将详细介绍Java中常用的日期处理方法,涉及`java.util.Date`和`java.sql.Date`两种日期类型。首先,我们来看`java.util.Date`的使用,它是表示从1970年1月1日00:00:00 GMT到现在的毫秒数,如创建一个当前日期对象:`java.util.Date dt = new java.util.Date();`通过`SimpleDateFormat`类,我们可以格式化和解析日期字符串,如`SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");`,将`Date`对象转换为指定格式的字符串:`sdf.format(dt)`。 对于`SimpleDateFormat`,可以处理"yyyy-MM-dd"这样的日期格式,但当尝试用它解析不匹配格式的字符串时,会抛出`IllegalArgumentException`。例如,`java.util.Date dt = sdf.parse("2005-2-19")`,这行代码将成功执行,但如果输入的是非"yyyy-MM-dd"格式,解析会失败。 `java.sql.Date`是`java.sql`包中的日期类型,它代表的是从1970年1月1日到2038年1月19日之间的日期,且不包括当天。它的构造函数会自动忽略小时、分钟和秒,因此在使用`java.sql.Date.valueOf("2005-9-6")`时,得到的结果仅仅是"2005-09-06",即只考虑年月日部分,不会解析成完整的日期对象。 值得注意的是,`java.sql.Date`的格式要求更为严格,如果传递给`valueOf`的字符串不符合"yyyy-MM-dd"的格式,将会抛出异常。例如,尝试解析非标准格式的字符串"2005-2-19"就会导致错误。 总结来说,Java日期处理涉及到对日期和时间进行创建、格式化、解析以及数据库日期类型的适配。理解并掌握这些方法有助于编写更高效、兼容性更强的程序,尤其是在处理用户输入、数据存储或跨平台通信等场景中。"