問題:指定された形式のFastDateFormatを使用してString to Dateを解析する方法
指定した日付に指定した日数を追加する必要があります。 この関数はDateクラスObjectを返す必要があり、FastDateFormatを使用する必要があります。
ソリューション:
私はコードを書いたが、私は、YYYY-MM-DD HHでの出力必要があります:mm:ssのを。
私は、この関数にconvertStringToDateから
public static void main(String[] args) throws ParseException {
String dateFormat="yyyy-MM-dd HH:mm:ss";
String s2=addDate(dateFormat);
convertStringToDate(s2,dateFormat);
}
public static Date convertStringToDate(String dateInStr, String dateFormat) throws ParseException
{
FastDateFormat fdf=FastDateFormat.getInstance(dateFormat);//("yyyy-MM-dd HH:mm:ss");
Date date = null;
date = fdf.parse(dateInStr);
System.out.println("From convertStringToDate ");
System.out.println(date);
return date;
}
public static String addDate(String dateFormat) throws ParseException{
FastDateFormat fdf=FastDateFormat.getInstance(dateFormat);
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE,1);
String s1=fdf.format(c.getTime());
System.out.println("From addDate ");
System.out.println(s1);
return s1;
}
予想される出力の入力を渡す場合:convertStringToDateから
2017年4月21日午前17時01分31秒
OutputShownを:
Fri Apr 21 17:01:31 IST 2017
誰でもガイドできます私はどのように上記の問題を解決する必要がありますか?
fdf.format(c.getTime()); return fdf.parse(fdf.format(c.getTime()));
format
方法は、文字列として書式あなたの日付を返します:あなたの方法の
? 'Date'インスタンスを返すので、ここにはフォーマットはありません。正しい出力を見るには 'fdf.format(c.getTime());'を表示してください – AxelH
あなたの要求は意味がありません、ごめんなさい。日付を特定の形式(たとえば '2017-04-21 13:16:13')で返す必要がある場合は、' String'を返す必要があります。特定の形式を 'Date' 。あなたがなぜそれを望んでいるのかを教えてくれたら、役に立つ方向に導くことができます。 –
'FastDateFormat'は' SimpleDateFormat'に比べて利点があるようですが、2017年にはスレッドセーフである 'DateTimeFormatter'を含む新しいJavaの日付と時刻クラスを使うことをお勧めします。 –