如何在 laravel 中制作日期解析器,如何处理多个可能的输入

How to make a Date Parser in laravel, How to handle multiple possible inputs

提问人:Mayank Agrawal 提问时间:7/4/2023 最后编辑:brombeerMayank Agrawal 更新时间:7/4/2023 访问量:38

问:

我想在 laravel SearchDateParser 中创建一个服务,它以以下格式提供范围作为输出: YYYY/MM/DD-YYYY/MM/DD 或 NULL is 输入无效。 有效的查询模式:

  1. 第1天
  2. D1~D2
  3. D1-D2型
  4. D1~ // 这意味着结束日期应该是我的 9999/12/31
  5. ~D1 // 这意味着开始日期应该我的 1000/01/01

其中 D1 和 D2 是日期,格式如下:

    a) YYYY
    b) YYYY/M
    c) YYYY/MM
    d) YYYY/MM/D
    e) YYYY/MM/DD
    f) YYYY-M
    g) YYYY-MM
    h) YYYY-MM-D
    i) YYYY-MM-DD

此服务还应检查日期是否有效!或者至少给出一个有效的范围。如何覆盖所有情况,才有可能覆盖所有情况。如何在Laravel中做到这一点

我尝试使用Carbon库并使用正则表达式进行拆分,但是我无法特别处理这种情况: 2023-02-01-2023-02-01 2023-02-2023-02-01 ( 在这种情况下应该是什么结果) ,它应该为 null 还是应该自动转换为 2023-02-01-2023-02-01? 我找不到无错误的方法。

Laravel 日期 解析

评论


答: 暂无答案