1.代码
package yang.demo;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Class: DateFormat
* @Author: Yiang37
* @Date: 2020/10/28 15:47
* @Version: 1.0
* @Description:
*/
public class DateFormat {
public static void main(String[] args) throws ParseException {
System.out.println(dateFormatConversion("20201102", "yyyyMMdd", "yyyy->MM->dd"));
}
/**
* @Description: 指定格式的字符串转换为另一种指定格式
* yyyy:年 MM:月 dd:日 D:日 H:24小时制 h:12小时制 m:分钟 s:秒 S毫秒数
* 常用格式示例: yyyy/MM/dd HH:mm:ss.SSS
* @Author: Yiang37
* @Date: 2020/11/02 15:58:11
* @Version: 1.0
* @method: dateFormatconVersion()
* @param: [] 传入的日期字符串, 传入的日期字符串的格式, 传出的日期字符串格式.
* @return: java.lang.String 传出指定格式的日期字符串
*/
public static String dateFormatConversion(String inputDateStr, String inputDateFormat, String outDateFormat) throws ParseException {
SimpleDateFormat sdf1 = new SimpleDateFormat(inputDateFormat);
SimpleDateFormat sdf2 = new SimpleDateFormat(outDateFormat);
//转换成Date对象
Date tempDate = sdf1.parse(inputDateStr);
//Date对象转换成String
String outDateStr = sdf2.format(tempDate);
return outDateStr;
}
}
2.输出结果
2020->11->02
3.日期格式参考
字母 | 含义 | 示例 |
---|---|---|
y | 年份。一般用 yy 表示两位年份,yyyy 表示 4 位年份 | 使用 yy 表示的年扮,如 11; 使用 yyyy 表示的年份,如 2011 |
M | 月份。一般用 MM 表示月份,如果使用 MMM,则会 根据语言环境显示不同语言的月份 | 使用 MM 表示的月份,如 05; 使用 MMM 表示月份,在 Locale.CHINA 语言环境下,如“十月”;在 Locale.US 语言环境下,如 Oct |
d | 月份中的天数。一般用 dd 表示天数 | 使用 dd 表示的天数,如 10 |
D | 年份中的天数。表示当天是当年的第几天, 用 D 表示 | 使用 D 表示的年份中的天数,如 295 |
E | 星期几。用 E 表示,会根据语言环境的不同, 显示不 同语言的星期几 | 使用 E 表示星期几, 在 Locale.CHINA 语 言环境下,如“星期四”;在 Locale.US 语 言环境下,如 Thu |
H | 一天中的小时数(0~23)。一般用 HH 表示小时数 | 使用 HH 表示的小时数,如 18 |
h | 一天中的小时数(1~12)。一般使用hh表 示小时数 | 使用 hh 表示的小时数,如 10 (注意 10 有 可能是 10 点,也可能是 22 点) |
m | 分钟数。一般使用 mm 表示分钟数 | 使用 mm 表示的分钟数,如 29 |
s | 秒数。一般使用 ss 表示秒数 | 使用 ss 表示的秒数,如 38 |
S | 毫秒数。一般使用 SSS 表示毫秒数 | 使用 SSS 表示的毫秒数,如 156 |