この日付を解析する方法を教えてください: "29-July-2012"
私は試します:
new SimpleDateFormat("dd-MMM-yyyy");
しかし、うまくいきません。次の例外が発生します。
java.text.ParseException: Unparseable date: "29-July-2012"
ロケールについても言及する必要があります...
Date date = new SimpleDateFormat("dd-MMMM-yyyy", Locale.ENGLISH).parse(string);
あなたの文字列では、完全な形式が月に使用されるため、http: //docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html によると、Baz のコメントで提案されているように MMMM を使用する必要があります.
この理由は、API ドキュメントから読み取ることができます。 http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html#monthは、月が 3 文字を超える場合はテキストとして解釈されることを示しており、 http://docs .oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html#textは、完全な形式(あなたの場合は「7月」ではなく「7月」)が4文字以上に使用されることを示しています。
これを試してください(Locale.ENGLISHパラメーターと月の長い形式を追加しました)
package net.orique.stackoverflow.question11815659;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Locale;
public class Question11815659 {
public static void main(String[] args) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMMM-yyyy",
Locale.ENGLISH);
System.out.println(sdf.parse("29-July-2012"));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
split()
関数をデリミタで使用する "-"
String s = "29-July-2012";
String[] arr = s.split("-");
int day = Integer.parseInt(arr[0]);
String month = arr[1];
int year = Integer.parseInt(arr[2]);
// Now do whatever u want with the day, month an year values....
StringTokenizer を作成します。最初にライブラリをインポートする必要があります:
import Java.util.StringTokenizer;
基本的に、区切り文字を作成する必要があります。これは、基本的にテキストを区切るためのものです。この場合、区切り記号は「-」(ダッシュ/マイナス) です。
注:テキストを引用符で囲んで解析したので、文字列であると想定しています。
例:
//Create string
String input = "29-July-2012";
//Create string tokenizer with specified delimeter
StringTokenizer st = new StringTokenizer(input, "-");
//Pull data in order from string using the tokenizer
String day = st.nextToken();
String month = st.nextToken();
String year = st.nextToken();
//Convert to int
int d = Integer.parseInt(day);
int m = Integer.parseInt(month);
int y = Integer.parseInt(year);
//Continue program execution