フォーマットに変換String
してDate
います。しかし、それは戻ります"Unparseable date"
。例えば、
String date= "Wednesday, May 15, 2013";
これを方法のように文字列に変換したいのです"2013-05-15"
が?
フォーマットに変換String
してDate
います。しかし、それは戻ります"Unparseable date"
。例えば、
String date= "Wednesday, May 15, 2013";
これを方法のように文字列に変換したいのです"2013-05-15"
が?
2 回使用SimpleDateFormat
: 1 回は a を解析しDate
、もう 1 回は目的の形式でレンダリングします。
Date date;
String display = new SimpleDateFormat("yyyy-MM-dd").format(
new SimpleDateFormat("EEEE, MMMM dd, yyyy").parse(date)
);
あなたの例の日付は残念です.3文字の月「May」のみを使用しているため、月の名前がすべて3文字に切り捨てられているのか、フルネームなのかわかりません. 月が完全な名前であると仮定しましたが、切り捨てられた場合は、2 番目の形式文字列に変更MMMM
します。MMM
このようなものが役立つかもしれません(日付文字列を日付オブジェクトに解析し、新しい形式にフォーマットし直します):
String dateString = "Wednesday, May 15, 2013";
DateFormat format1 = new SimpleDateFormat("EEEE, MMMM dd, yyyy");
Date date = format1.parse(dateString);
DateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
String updatedDateString = format2.format(date);
System.out.println("Updated Date > "+updatedDateString);
これに関する私の実験では、次のようなことを行う必要があります...フォーマット文字列の作成方法を理解するには、API を参照してください。http://docs.oracle.com/javase/6/docs/api/index.html?java/text/DateFormat.html
String myDateAsString = "Wednesday, May 15, 2013";
SimpleDateFormat df = new SimpleDateFormat("EEEE, MMM d, yyyy");
Date d = new Date();
try {
d = df.parse(myDateAsString);
} catch (ParseException e1) {
System.out.println("Could not parse...something wrong....");
e1.printStackTrace();
}
df.applyPattern("yyyy-MM-d");
String convertedDate = df.format(d);
System.out.println(convertedDate);
これは良いアプローチになります。
このようなもの:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringDate {
public static void main(String[] args) throws ParseException{
String dateString = "Wednesday, May 15, 2013";
DateFormat format1 = new SimpleDateFormat("E, MMM dd, yyyy");
Date date = format1.parse(dateString);
DateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
String updatedDateString = format2.format(date);
System.out.println("Updated Date > "+updatedDateString);
}
}