Java日期处理:String、Calendar与Date之间的转换详解
需积分: 49 86 浏览量
更新于2024-09-13
收藏 3KB TXT 举报
在Java编程中,字符串(String)、日期(Date)和日历(Calendar)是常见的数据类型,它们之间的相互转换对于处理时间相关的操作至关重要。本文将详细介绍如何在这些对象之间进行格式化的转换。
1. Calendar 转换为 String:
首先,创建一个`SimpleDateFormat`对象,指定所需的日期格式(例如 "yyyy-MM-dd HH:mm:ss")。然后,使用`Calendar`的`getTime()`方法获取当前或指定日期的时间,并通过`format()`方法将其转换为字符串。例如:
```java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance(); // 获取当前时间
String dateStr = sdf.format(calendar.getTime()); // 将Calendar对象格式化为字符串
```
2. String 转换为 Calendar:
通过`SimpleDateFormat`的`parse()`方法,可以将符合特定格式的字符串解析成`Date`对象,进一步转换为`Calendar`。比如,将"2010-5-27"转换为Calendar:
```java
String str = "2010-5-27";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(str);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date); // 设置Calendar对象的时间
```
3. Date 转换为 String:
可以直接使用`SimpleDateFormat`的`format()`方法将`Date`对象转换为字符串,示例同上:
```java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sdf.format(newDate()); // 将Date对象格式化为字符串
```
4. String 转换为 Date:
同样地,`SimpleDateFormat`的`parse()`方法可以将符合格式的字符串解析为`Date`对象:
```java
String str = "2010-5-27";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date birthday = sdf.parse(str); // 将字符串转换为Date对象
```
5. Date 转换为 Calendar:
使用`Calendar`的`setTime()`方法,将`Date`对象设置为`Calendar`中的时间:
```java
Calendar calendar = Calendar.getInstance();
calendar.setTime(new java.util.Date()); // 将Date对象的时间赋值给Calendar
```
6. Calendar 转换为 Date:
最后,`Calendar`的`getTime()`方法会返回一个`Date`对象,代表当前或设置的日期:
```java
Calendar calendar = Calendar.getInstance();
java.util.Date date = calendar.getTime(); // 将Calendar对象转换为Date
```
7. Date 转换为 String(重复了前面的第3步,这里再次强调):
使用`format()`方法将Date对象转换为指定格式的字符串:
```java
System.out.println(sdf.format(newDate()));
```
8. String 转换为 Timestamp:
`Timestamp`是Java中的另一个日期时间类型,可以使用`Timestamp.valueOf()`方法将字符串转换为`Timestamp`:
```java
Timestamp timestamp = Timestamp.valueOf("2011-1-14 08:11:00");
```
9. Timestamp 转换为 String:
通过`Timestamp`的`toString()`方法,可以得到其字符串表示:
```java
String strTimestamp = sdf.format(timestamp);
```
Java中字符串、日期和日历之间的转换涉及到`SimpleDateFormat`、`Date`和`Calendar`等类,正确理解和运用这些转换方法对于处理日期和时间的程序设计至关重要。理解这些基本操作有助于编写出更灵活、可维护的代码。
2020-11-08 上传
2020-12-22 上传
2020-08-29 上传
2021-10-03 上传
2011-10-30 上传
2019-07-31 上传
2018-09-19 上传
qaz1900
- 粉丝: 13
- 资源: 11
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程