1.Calendar 转化 String 2.String 转化Calendar 3.Date 转化String 4.String 转化Date 5.Date 转化Calendar 6.Calendar转化Date ### String、Calendar、Date间的相互转换 在Java中,日期和时间处理是非常常见的需求之一,尤其是在涉及用户界面或数据处理的应用程序中。本篇将详细解释如何在`String`、`Calendar`、`Date`之间进行转换,并提供具体的示例代码。 #### 1. Calendar 转化为 String 要将`Calendar`对象转换为`String`,我们首先需要通过`getTime()`方法获取`Date`对象,然后使用`SimpleDateFormat`格式化这个日期。 ```java Calendar calendar = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String dateStr = sdf.format(calendar.getTime()); ``` 这段代码创建了一个`Calendar`实例,并使用指定的格式(年-月-日)将其转换为字符串形式。 #### 2. String 转化为 Calendar 从`String`到`Calendar`的转换需要先将字符串转换为`Date`,然后再将`Date`转换为`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); ``` 这里,我们使用了`SimpleDateFormat`类来解析字符串并转换为`Date`对象,然后将该`Date`对象设置到`Calendar`实例中。 #### 3. Date 转化为 String 将`Date`转换为`String`同样需要用到`SimpleDateFormat`。 ```java SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String dateStr = sdf.format(new Date()); ``` 这里,我们使用了默认的当前日期时间作为输入,但也可以传递任何特定的`Date`对象。 #### 4. String 转化为 Date 与上一步相反,我们可以将一个日期字符串转换为`Date`对象。 ```java String str = "2010-5-27"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date birthday = sdf.parse(str); ``` 这行代码将日期字符串按照“年-月-日”的格式解析为`Date`对象。 #### 5. Date 转化为 Calendar 要将`Date`转换为`Calendar`,可以直接调用`Calendar`的`setTime()`方法。 ```java Calendar calendar = Calendar.getInstance(); calendar.setTime(new java.util.Date()); ``` 这里创建了一个新的`Calendar`实例,并将当前系统时间设置为其值。 #### 6. Calendar 转化为 Date 从`Calendar`转换到`Date`非常简单,只需调用`getTime()`方法即可。 ```java Calendar calendar = Calendar.getInstance(); java.util.Date date = calendar.getTime(); ``` 这行代码将`Calendar`对象中的日期时间信息提取出来,并转换为`Date`对象。 #### 扩展知识点:其他转换方式 除了上述基本的转换方式外,还有一些其他的转换方式也很有用: - **Date 转化为 String**: ```java System.out.println(sdf.format(new Date())); ``` - **String 转化为 Timestamp**: ```java Timestamp ts = Timestamp.valueOf("2011-1-14 08:11:00"); ``` - **Timestamp 转化为 String**: ```java String tsStr = sdf.format(ts); ``` - **Date 转化为 Timestamp**: ```java SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = df.format(new Date()); Timestamp ts = Timestamp.valueOf(time); ``` - **比较两个时间的大小**: ```java String ti = "2010-11-25 20:11:00"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date time = sdf.parse(ti); String ti2 = "2011-11-26 20:11:00"; Date time2 = sdf.parse(ti2); int c = time2.compareTo(time); if (c > 0) { System.out.println(ti + " 在 " + ti2 + "之前"); } else if (c == 0) { System.out.println("相同的时间"); } else { System.out.println(ti2 + " 在 " + ti + "之前"); } ``` - **使用 Calendar 进行日期操作**: ```java Calendar calendar = Calendar.getInstance(); calendar.setTime(startDate); calendar.add(Calendar.YEAR, 2); // 增加两年 System.out.println(calendar.getTime()); calendar.add(Calendar.DATE, -30); // 减去30天 System.out.println(calendar.getTime()); calendar.add(Calendar.MONTH, 3); // 增加三个月 System.out.println(calendar.getTime()); ``` 以上就是关于`String`、`Calendar`、`Date`之间的相互转换以及一些扩展的日期处理技巧。这些转换方法是进行日期处理的基础,对于开发人员来说非常实用。




























SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
1.Calendar 转化 String
//获取当前时间的具体情况,如年,月,日,week,date,分,秒等
Calendar calendat = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sdf.format(calendar.getTime());
2.String 转化Calendar
String str="2010-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse(str);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
3.Date 转化String
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
String dateStr=sdf.format(new Date());
4.String 转化Date
String str="2010-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date birthday = sdf.parse(str);
5.Date 转化Calendar
Calendar calendar = Calendar.getInstance();
calendar.setTime(new java.util.Date());
6.Calendar转化Date


- 粉丝: 13
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源


