java初心者です。
ゼロパディングを使って、
年月日が適切に表示されるコードを書きたいと思っています。
実現したいことは、
2018/1/1とjavaアプリケーションで入力後
コンソール上には2018/01/01と表示させたいです。
しかし現状は、
2018/1/1とjavaアプリケーションで入力後
コンソール上には2018/1/1と表示されてしまいます。
java
1 public static String getDate() { 2 return new SimpleDateFormat("yyyy年MM月dd日(E)").format(new Date()); 3 } 4 5 public boolean checkHiduke(final String _paramHiduke) { 6 boolean isRtn_CheckHidukeResult = false; 7 System.out.println("_paramHiduke :" + _paramHiduke); 8 9 Pattern p = Pattern.compile("^(\d{4})/(\d{1,2})/(\d{1,2})$"); 10 11 Matcher m = p.matcher(_paramHiduke); 12 if (!m.find()) { 13 JOptionPane.showMessageDialog(null, "入力日付に誤りがあります。見直してください。", "エラー", JOptionPane.ERROR_MESSAGE); 14 return isRtn_CheckHidukeResult; 15 } // end ifSimpleDateFormat 16 // 日付フォーマッターを定義 17 DateFormat df = DateFormat.getDateInstance(); 18 // 解析レベルを厳密にする 19 df.setLenient(false); 20 try { 21 // 入力年月日を解析 22 df.parse(_paramHiduke); 23 System.out.println(_paramHiduke + ": OK"); 24 } catch (ParseException ex1) { 25 // ありえない日付が渡されるとこっちに来る 26 System.out.println(_paramHiduke + ": NG"); 27 JOptionPane.showMessageDialog(null, "入力日付が実在しません。見直してください。", "エラー", JOptionPane.ERROR_MESSAGE); 28 ex1.printStackTrace(); 29 return isRtn_CheckHidukeResult; 30 } // end catch 31 return isRtn_CheckHidukeResult = true; 32 }// end checkHiduke 33} 34
不明なためご回答よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー