我如何称呼DateJS';Java中的Date.parse()?

我如何称呼DateJS';Java中的Date.parse()?,java,parsing,date,datejs,Java,Parsing,Date,Datejs,如何在Java中调用DateJS的Date.parse() 这就是我正在使用的: import javax.script.*; public class Demo { public static void main(String[] args) throws Exception { ScriptEngineManager scriptEngineManager = new ScriptEngineManager(); ScriptEngine s

如何在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()呢

日期:

关于:

Date-Date-new-SimpleDateFormat(“yyyy.MM.dd.HH.MM.ss”).parse(outputFromFile)

yyyy.MM.dd.HH.MM.ss不是正确的模式,它只是一个示例



您可以编写一个日期格式模式列表,并尝试对其进行解析,直到没有出现异常。

SimpleDateFormat
在这里有些过分。有规律就足够了:

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());
    }
}
输出
1998年东部时间3月12日星期四00:00:00

当您不知道用户输入的日期格式时,就会出现问题。Java的通用日期/时间库似乎都没有解析这些数据的方法。。。至少内置的和JodaTime的没有


对于这个问题,您可能会有一些幸运的答案

为什么要使用JavaScript解析库而不是Java解析库?比如说,Joda Time解析不需要日期格式吗?DateJS不需要日期格式。无论使用哪种库,如果不指定日期格式,则库只能在解析日期时进行最佳猜测。举个例子,代码中的字符串
“3/12/1998”
是不明确的,可以解析为1998年3月12日或1998年12月3日,具体取决于语言环境。这不是问题,因为我只需要指定“date.js”,这仅限我们使用。DateJS支持150多个地区:只需指定“date en US.js”、“date-de-de.js”、“date-fr-fr.js”等。。。DateJS对我来说更容易,因为我不必手动生成可能的日期格式列表。这很公平。我的直觉反应是,必须有一个比在Java中运行JavaScript更好的解决方案——它感觉像一个主要的WTF。你看到了吗?我试过SimpleDateFormat,但它被限制为日期格式。@XP1“被限制为日期格式”是什么意思我是否理解错误的问题:您想要解析日期?如果日期格式模式不匹配,那么我必须找到正确的日期格式模式。DateJS自动检测日期。在我的问题中,我想知道在Java中从DateJS调用JavaScript方法Date.parse()而不调用eval()的最佳方法,或者是否还有其他方法。