是否有可能通过在Web Config文件中硬编码日期来更改DateTime.Now在我的解决方案中的反应方式?

时间:2015-07-02 09:57:33

标签: c# asp.net

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

1 个答案:

答案 0 :(得分:5)

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);
    }
}