2

JavaでDateJSのDate.parse()を呼び出すにはどうすればよいですか?

これは私が使用しているものです:

import javax.script.*;

public class Demo
{
    public static void main(String[] args) throws Exception
    {
        ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
        ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("JavaScript");

        scriptEngine.eval(new java.io.FileReader("date.js"));

        System.out.println(scriptEngine.eval("Date.parse(\"3/12/1998\").toString();"));
    }
}

出力:

run:
Thu Mar 12 1998 00:00:00 GMT-0500 (EST)
BUILD SUCCESSFUL (total time: 0 seconds)

JavaでDate.parse()を呼び出すより良い方法はありますか?

DateJS: http://www.datejs.com/

4

2 に答える 2

1

SimpleDateFormatここではやり過ぎです。レギュラーDateFormatで十分です:

import java.text.DateFormat;

public class Demo
{
    public static void main(String[] args) throws Exception
    {
        System.out.println(DateFormat.getDateInstance(DateFormat.SHORT).parse("3/12/1998").toString());
    }
}

出力Thu Mar 12 00:00:00 EST 1998

この問題は、ユーザーが入力している日付形式がわからない場合に発生します。Javaの一般的な日付/時刻ライブラリには、それらを解析する方法がないようです...少なくとも組み込みライブラリとJodaTimeライブラリにはありません。

JavaでのPHPのstrtotime()の質問に対する受け入れられた回答で運が良かったかもしれません。

于 2011-04-08T14:30:13.557 に答える
1

どうですか:

Date date new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss").parse(outputFromFile);

yyyy.MM.dd.HH.mm.ss は正しいパターンではありません。これは単なる例です


日付形式パターンのリストを作成し、例外が発生しなくなるまで解析を試みることができます。

于 2011-04-08T14:11:04.750 に答える