Java时间日期格式转换全攻略

需积分: 14 0 下载量 52 浏览量 更新于2024-07-25 收藏 41KB DOCX 举报
【资源摘要信息】: "Java时间转换方法包括日期格式化、日期解析以及获取特定格式的当前时间。" 在Java编程中,处理日期和时间是非常常见的任务。Java提供了多种类库来支持时间日期的操作,其中`java.util.Date`、`java.text.SimpleDateFormat`和`java.util.Calendar`是最常用的。以下是对给定内容的详细解释: 1. **获取当前时间** - `getNowDate()` 方法使用 `SimpleDateFormat` 类创建了一个日期格式器,格式为 "yyyy-MM-ddHH:mm:ss",然后将当前日期时间(`new Date()`)格式化为字符串,并再次解析为日期对象。这个过程看似多余,但在某些情况下可能用于验证日期格式。 2. **不同格式之间的日期转换** - `getNowDate()` 方法的另一个版本返回短时间格式 "yyyy-MM-dd"。 - 另外,展示了如何在 "yyyy-MM-dd" 和 "yyyy年MM月dd日HH时mm分ss秒" 之间进行转换。`format1.parse(str)` 和 `format2.parse(str)` 分别用于将字符串按照指定格式解析为日期对象,而 `format1.format(date)` 和 `format2.format(date)` 可以将日期对象转换回字符串。 3. **字符串到日期的转换** - `str="2007-1-18"` 这个例子展示了如何将一个字符串转换为日期对象。通过调用 `format1.parse(str)` 可以将符合 "yyyy-MM-dd" 格式的字符串解析为日期对象。 4. **日期到字符串的转换** - `getStringDate()` 方法类似于 `getNowDate()`,但它直接返回格式化后的字符串,无需再次解析。 5. **提取一个月的最后一天** - 尽管给定的代码没有直接包含提取一个月最后一天的函数,但可以使用 `Calendar` 类来实现。首先,创建一个 `Calendar` 对象,设置为当前日期,然后递增月份并检查是否溢出。如果溢出,则说明上个月是最后一天。 ```java public static Date getLastDayOfMonth() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH, 1); calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.add(Calendar.DATE, -1); return calendar.getTime(); } ``` 6. **关于时间表示格式** - 描述中提到 "如果是yyyyMMdd,注意字母y不能大写",这是因为 'y' 是年份的标志,在 `SimpleDateFormat` 中区分大小写。小写的 'y' 代表标准的公元纪年,而大写的 'Y' 代表周年的年份,通常用在计算目的上。 总结来说,Java中的日期时间处理涉及了格式化、解析、日期计算等多个方面。`SimpleDateFormat` 是核心工具,用于定义和解析日期时间的字符串格式。`Date` 和 `Calendar` 类则提供了对日期和时间的底层操作。理解这些类和方法对于处理Java中的日期和时间至关重要。