背景
記錄Java SimpleDateFormat格式轉換與ftl各時間格式轉換爲時間戳
1、Java SimpleDateFormat格式轉換
1、2019-11-09 12:40:29
格式類型:yyyy-MM-dd HH:mm:ss
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2、2019-11-25T15:14:02.165、2019-10-25T09:34:46.178+08:00
格式類型:yyyy-MM-dd'T'HH:mm:ss.SSS
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
3、20191111T012812Z
格式類型:yyyyMMdd'T'HHmmss'Z'
new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'");
2、ftl各時間格式轉換爲時間戳
1、20191111T012812Z
格式類型:yyyyMMdd'T'HHmmss'Z'
${(time?datetime("yyyyMMdd'T'HHmmss'Z'")?long/1000)?c}
2、2019-11-09 12:40:29
格式類型:yyyy-MM-dd HH:mm:ss
${(time?date("yyyy-MM-dd HH:mm:ss")?long/1000)?c}
3、2019-10-25T09:34:46.178+08:00
格式類型:"yyyy-MM-dd'T'HH:mm:ss
${(time?datetime("yyyy-MM-dd'T'HH:mm:ss")?long/1000)?c}
4、1585669818598毫秒轉秒
此時數值爲long類型
${((timestamp_long?number_to_datetime)?string?date("yyyy-MM-dd HH:mm:ss")?long/1000)?c}
解析:先將long類型的時間戳轉換爲datetime(默認格式會轉爲yyyy-MM-dd HH:mm:ss),再轉爲string,後轉datetime。之後轉long,除1000轉爲秒。