【问题标题】:Set DateTime in App.Config在 App.Config 中设置 DateTime
【发布时间】:2014-03-13 18:12:35
【问题描述】:

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

我想要类似的东西:

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

【问题讨论】:

    标签: vb.net app-config


    【解决方案1】:

    如果您想将此设置默认为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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 这是一个DateTime输入的例子,你可以把this.dtMyDate.Value替换成DateTime.Now.ToShortDateString();
      猜你喜欢
      • 2011-04-13
      • 2019-02-04
      • 2016-04-23
      • 2010-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      相关资源
      最近更新 更多