在App.Config中设置DateTime

时间:2014-02-14 11:40:25

标签: vb.net app-config

我有一项服务需要从APP配置接收配置,以便在需要更改搜索条件时更容易更新 - 例如,如果发生错误。 所以,说我想知道如何在app.config中设置Datetime值

我想要类似的东西:

<add key="MyDate" value="DateTime.Now" />

2 个答案:

答案 0 :(得分:0)

C#中的示例:

的app.config

<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="MyDate" value="2014-01-01" />
  </appSettings>
</configuration>

在表单中......使用DateTimePicket和Button生成例如:

private void bChange_Click(object sender, EventArgs e)
{
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    AppSettingsSection app = config.AppSettings;
    app.Settings["MyDate"].Value = this.dtMyDate.Value.ToShortDateString();
    config.Save(ConfigurationSaveMode.Modified);
}

答案 1 :(得分:0)

如果要将此设置默认为DateTime.Now,或者要允许指定特定值,那么您可能需要这样的代码:

Dim magicDate = If(Not String.IsNullOrWhiteSpace(
                       ConfigurationManager.AppSettings("OverrideMagicDate")),
         Date.Parse(ConfigurationManager.AppSettings("OverrideMagicDate")),
         Date.Now)

现在在app.settings中,您将OverrideMagicDate设置值留空以获取DateTime.Now,或者您提供特定日期。

<add key="OverrideMagicDate" value="" /><!-- DateTime.Now -->

或:

<add key="OverrideMagicDate" value="2012-01-13" /><!-- 13th Jan 2012 -->

如果您想要更多地控制您接受的日期格式,可能需要将Parse切换为ParseExact