2012-06-21 9 views

答えて

0

しかし、あなたがしたい!つまり文字列ですが、それ以上にオプションは無限です。あなたがしたい場合は、日付についての子供の本としてそれを格納することができます。それを使用する必要がある場合はどこでも解析するだけです。しかし、私はDateTime.ToLongDateStringをどこかC#コードで探し、そのパターンを学習し、そのように格納することをお勧めします。

3

あなたの質問が完全に理解されているかどうかわかりません。私は、あなたがしたいと思います:

あなたはのappSettingsセクションで、あなたのapp.configをで日付を定義することができます。

<appSettings> 
    <add key="DateX" value="21/06/2012"/> 
</appSettings> 

そして、これに似た何かをすることでのAppSettingsエントリを検索:

Datetime dateX; 
System.Configuration.Configuration rootWebConfig1 = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null); 
if (rootWebConfig1.AppSettings.Settings.Count > 0) 
{ 
     System.Configuration.KeyValueConfigurationElement customSetting =  rootWebConfig1.AppSettings.Settings["DateX"]; 
     if (customSetting != null) 
     { 
      dateX = Datetime.Parse(customSetting.Value); 
     } 
} 

このMSDN linkを確認することができます。

3

Visual Studioで設定を使用するのは簡単です。プロジェクトのプロパティを開いて設定を追加し、Settingsに移動し、[プロジェクトにはデフォルト設定ファイルがありません。ここをクリックして作成してください]をクリックします。

設定に移動し、DateTimeを追加してdateを定義します。 enter image description here

コードの設定にアクセスするには、これを行うだけです。各キーは、文字列値に関連付けられている:あなたは短期の-運最初はね、その後<appSettings>要素に言及していると仮定すると、

DateTime myDate = Properties.Settings.Default.MyDate;

1

したがって、DateTimeの値を文字列にシリアル化して、それを読み戻すときに解析する必要があることがわかります。

ConfigurationManager.AppSettings["date"] = myDateTime.Ticks.ToString(CultureInfo.InvariantCulture);

が戻ってそれを読む:

あなたのApp.configファイルをメモ帳での人間によって編集されている気にしないのであれば、その後、私は、64ビットを格納したい文字列整数として値をティックこのことによって:

// Serialise 
ConfigurationManager.AppSettings["date"] = myDateTime.ToString("o"); // "o" is "roundtrip" 
// Deserialise 
DateTime myDateTime = DateTime.Parse(ConfigurationManager.AppSettings["date"], NumberStyles.Integer, CultureInfo.InvariantCulture)); 
:あなたは、それは人間が読めるようにしたいん場合は

Int64 ticks = Int64.Parse(ConfigurationManager.AppSettings["date"], NumberStyles.Integer, CultureInfo.InvariantCulture); 
DateTime myDateTime = new DateTime(ticks); 

をその後、往復のオプションを使用します210

いくつかのノート:

  • 私のコードは助言と荒いです。実際には、すべてのDateTimeインスタンスがUTCであることを確認してから、必要に応じてタイムゾーンオフセットを適用します。
  • AppSettingsに「日付」という名前のキーが最初に含まれているかどうかを確認し、そうでない場合は既定またはゼロ相当の回答を返します。
  • また、あなたは避けるでしょう。メソッドを解析し、代わりにTryParseを使用し、アプリケーションに応じてエラー条件を処理します。
11

ストアのconfigファイルの値:

<appSettings> 
    <add key="DateKey" value="2012-06-21" /> 
</appSettings> 

その後値あなたバンの使用を取得する:

var value = ConfigurationSettings.AppSettings["DateKey"]; 

var appDate = DateTime.Parse(value); 
+1

文化について:en-US、es-ESなど? – Kiquenet

関連する問題