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 |