StrfTimeToDateTimeFormatter.java 文件源码

java
阅读 29 收藏 0 点赞 0 评论 0

项目:logparser 作者:
public static DateTimeFormatter convert(String strfformat, ZoneId defaultZone) {
    CodePointCharStream input = CharStreams.fromString(strfformat);
    StrfTimeLexer lexer = new StrfTimeLexer(input);

    CommonTokenStream tokens = new CommonTokenStream(lexer);

    StrfTimeParser parser = new StrfTimeParser(tokens);

    lexer.removeErrorListeners();
    parser.removeErrorListeners();

    ParseTreeWalker walker = new ParseTreeWalker(); // create standard walker
    StrfTimeToDateTimeFormatter converter = new StrfTimeToDateTimeFormatter(strfformat, defaultZone);

    lexer.addErrorListener(converter);
    parser.addErrorListener(converter);

    StrfTimeParser.PatternContext pattern = parser.pattern();

    walker.walk(converter, pattern); // initiate walk of tree with listener

    if (converter.hasSyntaxError()) {
        return null;
    }

    return converter.build();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号