- 締切済み
javaの日付型
javaでも日付型はあるのですか? textfieldで入力した数字が日付として 正しいものなのかを判定したいのですが。 よかったら教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ssr-y6
- ベストアンサー率71% (5/7)
入力された文字列をSimpleDateFormatクラスのparseを使って解析し、 Date型に変換できるかどうかで判定することができます。 以下の例は、テキストフィールドに入力された文字列が、 設定されている日時形式に合致するかどうかを判定してその結果を表示するプログラムです。 import java.awt.*; import java.awt.event.*; import java.text.*; import java.util.*; class datechecker implements ActionListener { Label FM, MG; Button BN; TextField TF; static String Format = "yyyy/MM/dd kk:mm"; public datechecker() { FM = new Label("Format : " + Format); BN = new Button("Check"); TF = new TextField(); MG = new Label("Start"); BN.addActionListener(this); }; public void actionPerformed(ActionEvent e) { Date DA = null; SimpleDateFormat DF = new SimpleDateFormat(Format); try { DA = DF.parse(TF.getText()); MG.setText("OK : " + (DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG)).format(DA)); } catch (Exception ex) { MG.setText("NG"); }; }; } public class datecheck { public static void main(String args[]) { Frame MF = new Frame("Date Format Check"); MF.setSize(320, 120); MF.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); }; }); MF.setLayout(new GridLayout(4, 1)); datechecker DC = new datechecker(); MF.add(DC.FM); MF.add(DC.TF); MF.add(DC.BN); MF.add(DC.MG); MF.setVisible(true); }; }
- a-kuma
- ベストアンサー率50% (1122/2211)
> javaでも日付型はあるのですか? > textfieldで入力した数字が日付として > 正しいものなのかを判定したいのですが。 DateFormat クラスの parse メソッドが期待するものになるでしょう。 文字列として渡した日付の表記を解釈して、正しければ、日付を表す Date クラスの インスタンスを返します。日付とみなせなければ null を返します。 詳細は、Sun のサイトで API のマニュアルを参照できる(→参考URL)ので、 そこをご覧になって下さい。
お礼
ありがとうございます。 参考にさせてもらいます。