Выходная метка времени RFC 3339 в Java

Попробуйте использовать следующий пример кода, используя Javascript-механизм JDK1.6 с обработкой ввода кода.

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

public class EvalUtil {
private static ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
public static void main(String[] args) {
    try {
        System.out.println((new EvalUtil()).eval("(((5+5)/2) > 5) || 5 >3 "));
        System.out.println((new EvalUtil()).eval("(((5+5)/2) > 5) || true"));
    } catch (Exception e) {
        e.printStackTrace();
    }
}
public Object eval(String input) throws Exception{
    try {
        if(input.matches(".*[a-zA-Z;~`#$_{}\\[\\]:\\\\;\"',\\.\\?]+.*")) {
            throw new Exception("Invalid expression : " + input );
        }
        return engine.eval(input);
    } catch (Exception e) {
        e.printStackTrace();
        throw e;
    }
 }
}
36
задан Cristian 19 November 2008 в 17:10
поделиться

3 ответа

Проблема состоит в том, что Z производит смещение часового пояса без двоеточия (:) как разделитель.

4
ответ дан Christian K. 8 August 2019 в 15:58
поделиться

Проверьте Время Joda пакет. Они делают дату RFC 3339, форматирующую намного легче.

Пример Joda:

DateTime dt = new DateTime(2011,1,2,12,45,0,0, DateTimeZone.UTC);
DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
String outRfc = fmt.print(dt);
16
ответ дан tgkokk 8 August 2019 в 15:58
поделиться
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'h:m:ss.SZ");

Не то, в чем точно Вы нуждаетесь?

3
ответ дан FoxyBOA 8 August 2019 в 15:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: