下面就详细讲解一下“Java中SimpleDateFormat日期格式转换详解及代码示例”的攻略。
1. 什么是SimpleDateFormat
SimpleDateFormat是Java中一个非常实用的日期格式化类,它能够将日期按照指定的格式进行转换,并且还支持将字符串转换成日期。SimpleDateFormat类的格式化符号遵循类似于Unix系统下的日期格式化符号,比较直观简单。
2. SimpleDateFormat的使用
SimpleDateFormat的常用方法有两个,分别是format()和parse()。其中,format()方法可以将Date类型的日期转换成指定格式的字符串类型,如下所示:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(new Date());
System.out.println(dateStr);
在上述代码中,我们先创建了一个SimpleDateFormat对象,然后调用它的format()方法将当前时间转换成指定格式的字符串,输出结果为:
2022-01-01 09:00:00
另一方面,parse()方法可以将指定格式的字符串类型转换成Date类型的日期,如下示例所示:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = "2022-01-01 09:00:00";
Date date = sdf.parse(dateStr);
System.out.println(date);
在上述代码中,我们同样先创建了一个SimpleDateFormat对象,然后调用它的parse()方法将指定格式的字符串转换成Date类型的日期,输出结果为:
Sat Jan 01 09:00:00 GMT 2022
3. SimpleDateFormat的格式化符号
下面是SimpleDateFormat常用的格式化符号:
- yyyy:年(如2022)
- MM:月(如01)
- dd:日(如01)
- HH:时(24小时制,如09)
- mm:分(如00)
- ss:秒(如00)
- S:毫秒(如000)
- E:星期(如Saturday)
在使用SimpleDateFormat时,我们可以通过这些格式化符号在指定格式中使用,从而满足各种不同格式的需求。
4. 示例
下面再给出两个SimpleDateFormat的示例,帮助大家更好地理解它的使用。
示例一
我们有如下一个字符串类型的日期:
2022-01-01T09:00:00.000+08:00
现在我们希望将它转换成指定格式的日期(如yyyy-MM-dd HH:mm:ss),代码如下:
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = "2022-01-01T09:00:00.000+08:00";
Date date = sdf1.parse(dateStr);
String newDateStr = sdf2.format(date);
System.out.println(newDateStr);
在上述代码中,我们首先创建了两个SimpleDateFormat对象,分别用于解析原字符串和格式化新日期。然后将原字符串解析成Date类型的日期,并使用第二个SimpleDateFormat对象格式化成最终的目标日期格式。输出结果为:
2022-01-01 09:00:00
示例二
我们有如下一个Date类型的日期:
Sat Jan 01 09:00:00 GMT 2022
现在我们希望将它转换成指定格式的字符串(如yyyy_MM_dd_HH_mm_ss),代码如下:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss");
Date date = new Date("Sat Jan 01 09:00:00 GMT 2022");
String newDateStr = sdf.format(date);
System.out.println(newDateStr);
在上述代码中,我们直接创建了一个SimpleDateFormat对象,并使用它将Date类型的日期格式化成指定格式的字符串。输出结果为:
2022_01_01_09_00_00
这就是SimpleDateFormat的详细使用攻略和两个示例,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中SimpleDateFormat日期格式转换详解及代码示例 - Python技术站