Как мне вызвать DateJS 'Date.parse () в Java? - PullRequest
2 голосов
/ 08 апреля 2011

Как мне вызвать DateJS Date.parse () в Java?

Это то, что я использую:

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)

Есть ли лучший способ вызвать Date.parse () в Java?

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

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

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 - нет.

Возможно, вам повезет с принятым ответом на вопрос PHP strtotime () в Java

1 голос
/ 08 апреля 2011

А как насчет:

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

гггг.ММ.дд.ЧЧ.мм.сс не правильно, шаблон, это только пример


Вы можете написать список шаблонов формата даты и попытаться проанализировать их, пока не возникнет исключение.

...