こんにちは、るゔです。

最近やっとドラクエ11をクリアしました!

RPGは没頭できて楽しいですね。

 

今回はDate型をStringに、StringをDate型に変換する方法です。

SimpleDateFormatを使って行います。早速コードです。

   /**
     * Date型をStringに変換
     * @param date 変換したいDate
     * @param format フォーマット (例) yyyy/MM/dd
     */
    public static String dateToString(Date date, String format) {
        SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.JAPAN);
        return sdf.format(date);
    }

引数に変換したいDateとフォーマットを渡してください。
フォーマットは例として一つあげましたが別のフォーマットがよければ
「yyyy/MM/dd HH:mm:ss」のようにもできます。
ただし、フォーマットは大文字と小文字で結果が変わってくるので
しっかり調べてお使いください。
今回の例では、月や時間が一桁でも0埋めして二桁になるようにしています。

次は逆にStringをDate型に変換します。
  /**
     * StringをDate型に変換
     * @param dateStr 変換したい日付の文字列 (例) 2018/01/07
     * @param format フォーマット 
     */
    public static Date stringToDate(String dateStr, String format) {
        SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.JAPAN);
        Date date = null;
        try {
            date = sdf.parse(dateStr);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

以上でDate型をStringに、StringをDate型に変換できるようになりました。
たまにSimpleDateFormatの使い方がわからなくなるので備忘録として残しておきます。