【问题标题】:Date validation in BallerinaBallerina 中的日期验证
【发布时间】:2020-05-25 09:37:47
【问题描述】:

我必须在芭蕾舞演员中验证不同类型的日期。我一直在尝试使用正则表达式来处理它,但是有很多方法可以写日期(例如25/05/202005/25/202025-May-2020 等)。

很难预测所有类型。更重要的是,最好验证接收到的输入是否真的是一个日期——包括不同月份或闰年的不同天数。一般来说,这样的正则表达式会很可怕(无论如何真的很大)。您是否知道任何现有的库可以提供快捷方式或具有日期验证功能?

有什么方法可以促进这样的任务吗?

【问题讨论】:

    标签: datetime ballerina


    【解决方案1】:

    一次性验证所有日期格式是一项挑战,不仅在 Ballerina 中,在其他语言中也是如此。 Ballerina 没有一种方法可以验证所有日期格式,但您可以使用 ballerina/time library 将日期字符串解析为 Time 记录。

    import ballerina/time;
    
    public function main() {
        string timeString = "<your time string>";
        string timeFormat = "<your time format>";
        time:Time|time:Error time = time:parse(timeString, timeFormat);
    }
    

    在示例中,time:parse() 将根据提供的时间格式返回有效的Time 记录,如果提供的是有效时间。

    我知道这不是您想要的确切答案,但这是在 Ballerina 中解析时间的方式。

    或者,some Java answers 可以与Ballerina - Java interoperability 一起使用(我不确定它们是否满足您的要求)。

    【讨论】:

    • 谢谢!这将是一些改进。
    • 嗨,似乎有一个 ballierinian 库来验证正则表达式。它位于balerina中部,它的名字是samjs/jregex
    • 很好,但要验证正则表达式,您也可以使用 ballarina/stringutils 模块。但这也只能解决一半的问题,对吧?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 2017-01-25
    • 2013-06-30
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多