tobya/laravel-mssql-dateformat

检查并设置Laravel使用的MSSQL通用日期格式为'Ymd',以确保通用兼容性

v0.5 2024-08-13 12:23 UTC

This package is auto-updated.

Last update: 2024-09-13 12:31:21 UTC


README

存在一个国际日期格式(ISO标准)(YYYY-MM-DD)Y-m-d,理论上应该是通用的,然而MSSQL的实现是有缺陷的,并不是通用的,并且错误地将Y-m-d解释为Y-d-m,这简直是荒谬。Laravel使用Y-m-d作为它们的国际格式,这可能会导致根据SQL SERVER设置出现错误。

存在一种格式Ymd,可以绝对保证始终被SQLServer解释为Ymd。此命令会修复illuminate库中的文件,以使用Ymd而不是Y-m-d。我请求在illuminate库中进行此更改,但感觉这个更改太大而无法进行。

希望这对使用PHP/Laravel的MSSQL的您有所帮助。

安装

使用composer安装

composer require tobya/laravel-mssql-dateformat

运行

通过调用laravel命令运行

artisan mssql:check-universal-date --update

您可以在不使用--update的情况下运行,以进行检查而不修补文件。

配置

建议您将以下内容添加到您的项目composer.json文件中,以便在安装和更新时自动运行此命令。

"scripts": {
        "post-update-cmd": [
            "@php artisan mssql:check-universal-date --update"
        ],
        "post-install-cmd": [
            "@php artisan mssql:check-universal-date --update"
        ]
   }

这是因为每次运行composer updatecomposer install时,如果更新了illuminate包,它将用原始版本覆盖SqlServerGrammar.php,因此有必要在此可能发生的情况下调用命令。如果文件没有进行更改,则不会对其进行修改。

关于为什么这是必要的进一步阅读

这在网上有多个讨论