gpt4 book ai didi

php - 在脚本执行时将 Date() 设置为特定的内容

转载 作者:搜寻专家 更新时间:2023-10-31 21:25:14 25 4
gpt4 key购买 nike

我找到了一些到处都使用 date() 的遗留代码。在每个月的 31 日(如果适用),脚本有一个错误,我需要能够复制它来修复。为此,我需要脚本认为今天是 31 号。

显然我可以解析日期并给它一个我想要的日期字符串,但这必须在 date() 的每个实例上 - 这将很难改变并且我很容易错过一个。

因此,在脚本顶部是否有一种方法可以指定“今天的日期”是什么?还是 date() 每次都从服务器获取日期,从而使这不可能?

编辑

需要说明的是,此脚本托管在 Azure App Services 上,这意味着很遗憾我无法更改系统时间。

最佳答案

有一个过时的 pecl 扩展名为 apd它提供了一个函数 override_function() ,它完全可以满足您的需求。没有测试它,但它可能不再工作。

另一种方法是所谓的猴子修补,利用 phps 命名空间。参见 http://till.klampaeckel.de/blog/archives/105-Monkey-patching-in-PHP.html例如和解释。

namespace myNameSpace;

function date($format, $timestamp = '') {
echo 'Would have returned "' . \date($format, $timestamp) . '"';
}
echo date('d.m.Y', time());

因为我们在命名空间 \myNameSpace 中,php 将首先搜索 \myNameSpace\date() 并使用它代替 \date()>.

关于php - 在脚本执行时将 Date() 设置为特定的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37612295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com