私は、DateTimeクラスに拡張メソッドを持っている:「dateOnly = trueを」私は、ローカルまたはUTCに(クライアント上のすべての変換後にのみ日付プロパティで日時を返すべきでありC#の日付部分
public static DateTime? SafeConvertToDateTime(this string value, bool dateOnly)
{
DateTime parsedDateTime;
if (DateTime.TryParse(value, out parsedDateTime))
{
return DateTime.SpecifyKind(parsedDateTime, DateTimeKind.Utc);
} else {
return new DateTime(1, 1, 1, 0, 0, 0, DateTimeKind.Utc);
}
}
場合日付のみのDateTimeがある場合はスキップする必要があります。 しかし、このDateTimeはDateのみを保持していることをどのように知ることができますか(時間は0として有効なので)。 拡張プロパティ(dateOnly)を追加できましたが、知っているとおり、C#で拡張プロパティを追加することはできません。 Datetimeの既存のプロパティを使用して、後でコードで考慮する必要がある日付のみがあることを伝えることはできますか?
DateTime.Dateを使用しないのはなぜですか?コードが時間部分に依存してはならない場合は、日付部分のみを参照するようにしてください。 – Neil
これは、DateTimeクラスの拡張メソッドではありません。これは、文字列クラスの拡張です。 – Paddy
'DateTime.Date;'を返すと、Date部分だけが返され、時刻部分は0になります。 – pitersmx