### JAVA字符串转日期或日期转字符串 #### 一、引言 在JAVA编程语言中,进行日期与字符串之间的转换是一项非常常见的操作。无论是处理数据库查询结果还是格式化用户界面显示,这种转换都不可或缺。本文将详细介绍如何利用`SimpleDateFormat`类来实现JAVA字符串到日期的转换,以及反之亦然。 #### 二、`SimpleDateFormat`类简介 `SimpleDateFormat`是`java.text`包中的一个类,用于格式化和解析日期。它可以按照指定的模式将`Date`对象转换为字符串,也可以将符合特定格式的字符串解析为`Date`对象。`SimpleDateFormat`提供了丰富的格式化选项,可以根据实际需求定制日期和时间的显示格式。 #### 三、字符串转日期 要将字符串转换为日期,首先需要创建一个`SimpleDateFormat`对象,并指定字符串的日期格式。然后调用该对象的`parse()`方法即可完成转换。 ```java SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date date = sdf.parse("2021-07-10 19:20:00"); } catch (ParseException e) { e.printStackTrace(); } ``` 在这个示例中,“`yyyy-MM-dd HH:mm:ss`”定义了字符串的格式。其中,“`yyyy`”代表四位数的年份,“`MM`”表示两位数的月份,“`dd`”表示两位数的日期,“`HH:mm:ss`”则表示24小时制的时间。 #### 四、日期转字符串 要将日期转换为字符串,同样需要先创建一个`SimpleDateFormat`对象,并设置期望的日期格式。接着,通过调用`format()`方法将`Date`对象转换为字符串。 ```java SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str = sdf.format(new Date()); System.out.println(str); ``` 上面的例子展示了如何将当前日期和时间转换为字符串,并按照“`yyyy-MM-dd HH:mm:ss`”格式输出。 #### 五、自定义日期格式 除了标准的日期格式,还可以根据需求自定义日期格式。例如,如果希望日期输出为“`2021年7月10日`”,可以通过以下方式实现: ```java SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); String str = sdf.format(new Date()); System.out.println(str); ``` #### 六、实用案例 下面提供了一个简单的Java程序示例,演示了如何实现日期与字符串的相互转换: ```java import java.util.Date; import java.text.ParseException; import java.text.SimpleDateFormat; public class ConvertDemo { // 日期转换成字符串 public static String DateToStr(Date date) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str = format.format(date); return str; } // 字符串转换成日期 public static Date StrToDate(String str) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = null; try { date = format.parse(str); } catch (ParseException e) { e.printStackTrace(); } return date; } public static void main(String[] args) { Date date = new Date(); System.out.println("日期转字符串:" + ConvertDemo.DateToStr(date)); System.out.println("字符串转日期:" + ConvertDemo.StrToDate(ConvertDemo.DateToStr(date))); } } ``` #### 七、扩展示例 为了更好地理解`SimpleDateFormat`的灵活性和强大的功能,下面提供了一些额外的日期格式转换示例: 1. **支持复杂的日期格式** ```java SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z"); try { Date date = sdf.parse("2002-1-1 AD at 22:10:59 PST"); } catch (ParseException e) { e.printStackTrace(); } ``` 2. **支持不同的分隔符** ```java SimpleDateFormat sdf = new SimpleDateFormat("yy/MM/dd HH:mm:ss"); try { Date date = sdf.parse("2002/1/1 17:55:00"); } catch (ParseException e) { e.printStackTrace(); } ``` 3. **支持12小时制的时间格式** ```java SimpleDateFormat sdf = new SimpleDateFormat("yy/MM/dd HH:mm:ss a"); try { Date date = sdf.parse("2002/1/1 17:55:00 PM"); } catch (ParseException e) { e.printStackTrace(); } ``` #### 八、总结 通过以上介绍可以看出,利用`SimpleDateFormat`类进行日期与字符串之间的转换非常方便且灵活。只要正确设置日期格式,就能轻松地实现所需的转换功能。这对于处理各种日期相关的数据来说是非常有用的技巧。
剩余14页未读,继续阅读
- 粉丝: 103
- 资源: 6万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助