format を生成する DateTime オブジェクトから文字列を作成しようとしていますmm:dd:yyyy
。
通常、DateTime
オブジェクトは として提供されmm:dd:yyyy hrs:min:sec AM/PM
ます。
hrs:min:sec AM/PM
DateTime の部分をすばやく削除して、変換したときにToString()
のみになるようにする方法はありmm:dd:yyyy
ますか?
format を生成する DateTime オブジェクトから文字列を作成しようとしていますmm:dd:yyyy
。
通常、DateTime
オブジェクトは として提供されmm:dd:yyyy hrs:min:sec AM/PM
ます。
hrs:min:sec AM/PM
DateTime の部分をすばやく削除して、変換したときにToString()
のみになるようにする方法はありmm:dd:yyyy
ますか?
あなたの質問に答えるには、いいえ - 別のタイプに保存する必要があります。最も単純な選択は、文字列を使用することです。
string date = dateTime.ToString("MM:dd:yyyy");
ただし、日付をプログラムの内部に文字列として保存しないことを強くお勧めします。これにより、それらの計算や比較を行うことが難しくなります。さらに、日付表現に特定のカルチャを強制しないことをお勧めします。これは、アプリケーションがおそらくあなたのもの以外のカルチャでは期待どおりに機能しないことを意味するためです。
もう少し洗練されたアプローチは、ToString をオーバーライドするカスタム クラスを作成することです。ただし、標準ライブラリ関数で型を使用することは依然として難しいため、これも避けます。常に前後に変換する必要があります。
DateTime のままにして、プレゼンテーション層でのみ文字列への変換を行います。DateTime.ToShortDateString
ユーザーフレンドリーな文化認識文字列を出力するために使用できます。
datetime DateWithTimeNoSeconds =
DateTime.Now.Date.AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute);
これは、現在の日付と時刻の日付を取得し、時間と分を追加します。
DateTime date1 = new DateTime(2008, 6, 1, 7, 47, 0);
Console.WriteLine(date1.ToString());
// Get date-only portion of date, without its time.
DateTime dateOnly = date1.Date;
// Display date using short date string.
Console.WriteLine(dateOnly.ToString("d"));
// Display date using 24-hour clock.
Console.WriteLine(dateOnly.ToString("g"));
Console.WriteLine(dateOnly.ToString("MM/dd/yyyy HH:mm"));
// The example displays the following output to the console:
// 6/1/2008 7:47:00 AM
// 6/1/2008
// 6/1/2008 12:00 AM
// 06/01/2008 00:00
http://msdn.microsoft.com/en-us/library/system.datetime.date.aspx
通常、私はDateTime.ToShortDateString()Culture
を使用して、認識可能な方法で文字列に変換しています。
このようにして、現在のスレッドに設定されているカルチャの現在の書式設定のみを考慮して、日付に書式設定できます。
DateTime.AddMinutes
追加する代わりに削除したい場合は、約(または秒または時間)負の数を追加してください!
簡単な方法で、おそらく最善ではありませんが、
DateTime dt = new DateTime();
dt = DateTime.Now;
string sdate = dt.ToShortDateString();
dt = DateTime.Parse(sdate);
または略して
var dt = DateTime.Parse(DateTime.Now.ToShortDateString());
秒なしの日付と時刻の場合は次のようになります。
private DateTime _startTime;
public DateTime StartTime
{
get { return _startTime; }
set
{
_startTime = value.AddSeconds(-value.Second)
.AddMilliseconds(-value.Millisecond);
}
}