Java SimpleDateFormat 格式錯誤

意外遇到 SimpleDateFormat 發生格式不一致
想說都已經設定轉換格式了怎麼還出錯
原來是環境語系問題

String dateString1 = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a").format(new Date()); //06/14/2022 04:10:32 下午
String dateString2 = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a", Locale.ENGLISH).format(new Date()); //06/14/2022 04:10:32 PM
String dateString3 = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a", Locale.CHINESE).format(new Date()); //06/14/2022 04:10:32 下午

a 用於標記上午或下午
若沒指定語系,預設跟著系統語系跑
不同系統造成結果不一
因此使用 SimpleDateFormat 若有 a 最好要指定 Locale!