日付文字列(YYYYMMDD)から曜日を取得する共通関数です。
サンプルメソッド
例)日付文字列(YYYYMMDD)から曜日を取得する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
/** * 日付文字列(YYYYMMDD)から曜日を取得する * @param ymd 日付文字列(YYYYMMDD) * @return 結果文字列 */ public static String getYobi(String ymd){ try{ //曜日 String yobi[] = {"日曜","月曜","火曜","水曜","木曜","金曜","土曜"}; //日付チェック SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); sdf.setLenient(false); sdf.parse(ymd); //年・月を取得する int y = Integer.parseInt(ymd.substring(0,4)); int m = Integer.parseInt(ymd.substring(4,6))-1; int d = Integer.parseInt(ymd.substring(6,8)); //取得した年月の最終年月日を取得する Calendar cal = Calendar.getInstance(); cal.set(y, m, d); //YYYYMMDD形式にして変換して返す return yobi[cal.get(Calendar.DAY_OF_WEEK)-1]; }catch(Exception ex){ return null; } } |
- (実行例)
- getYobi("20180401") ⇒"日曜" getYobi("20180499") ⇒null
メモ
- 引数がYYYYMMDD形式の日付文字列でない場合はnullが返ります。
- 曜日の文字を変えたい場合は9行目の定義を変更してください。