-1

私はdatetime情報を保持するために次の方法でプロパティを持っています

public string ExecutionTime{ get; set; }

ExecutionTime 値はdd-MM-yyyy hh:mm:ss tt
How can i change the property value to appear as yyyy-MM-dd hh:mm:ss ttand show in a textboxとして設定されています。

4

3 に答える 3

4

私はstringプロパティを使用しません。代わりにDateTime、実際には1つのように見えるので、それを保存します。表示するときに、必要に応じて書式を設定できます。

public DateTime ExecutionTime{ get; set; } 

例えば:

Textbox1.Text = ExecutionTime.ToString("yyyy-MM-dd hh:mm:ss tt");

そうしないと、常にその文字列を a に、DateTimeまたはその逆に解析する必要があり、(将来) ローカライズの問題が発生する可能性さえあります。

于 2012-12-14T12:58:05.807 に答える
3

あなたの日付は次のように保存されますstring

  1. 文字列を解析して実際の値を取得しますDateTime
  2. string別の形式に戻す

ParseExactが必要です:

// Your date
string inputDate = "20-01-2012 02:25:50 AM";

// Converts to dateTime
// Do note that the InvariantCulture is used, as I've specified
// AM as the "tt" part of the date in the above example
DateTime theDate = DateTime.ParseExact(inputDate, "dd-MM-yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);

// Now get the string to be displayed
// I've also specified the Invariant (US) culture, you might want something else
string yourString = theDate.ToString("yyyy-MM-dd hh:mm:ss tt", CultureInfo.InvariantCulture);

しかし、実際には日付をDateTimeではなくとして保存する必要がありstringます。

于 2012-12-14T13:11:11.313 に答える
1
DateTime d;
var isValid = DateTime.TryParse(ExecutionTime, out d);
if (isValid)
{
    textBox1.Text = d.ToString("dd-MM-yyyy hh:mm:ss tt");
}
于 2012-12-14T13:13:47.490 に答える