是否可以更改DateTime.Now在我的解决方案中通过在Web配置文件中硬编码日期来做出反应

本文关键字:配置文件 编码 日期 Web DateTime Now 是否 解决方案 我的 | 更新日期: 2023-09-27 18:00:56

我需要在特定日期处理我的解决方案,但内部策略不允许我更改服务器日期,希望我能在Web配置中这样做?

是否可以更改DateTime.Now在我的解决方案中通过在Web配置文件中硬编码日期来做出反应

DateTime是.NET基类。

它对web.config的存在一无所知,当然也不会从中获得任何设置。

所以答案是:不,您不能通过修改web.config来改变DateTime的行为

在这种情况下,您可能不应该使用DateTime.Now,如果您想手动更改此日期,请将一些日期传递给您的类/方法。

如果你想从web.config中获得这个日期,你可以在<appSettings>部分添加一些类似的内容

<add key ="MyDate" value="20150702" />

然后只使用一些包装器而不是DateTime.Now

public DateTime MyDate
{
    get 
    {
        var date = WebConfigurationManager.AppSettings["My_Date_Key"];
        return date == null ? DateTime.Now : 
                              DateTime.ParseExact(x, "yyyyMMdd", 
                                                  CultureInfo.InvariantCulture);
    }
}