2010-11-30 16 views
5

どのように私は時間がないか、好ましくは12:00のタイムスタンプで日付時刻を保存するのですか?時間のない日付時間を保存するには?

私は.ToString("dd/MM/yyyy");を使用したくありません。新しいエラーが発生する可能性が非常に高いからです。

+1

を使用することができますか?データベースに?型Datetimeクラスのオブジェクトですか? – Shekhar

+0

データベースに。 – Willem

+0

時間は、コード、永続性レイヤまたはデータベースで取り除くことができますが、解決しようとしている問題で最も自然なようです。 –

答えて

14

DateTime構造体は、あなたのニーズに応える必要があるDate性質を持っている:もちろん

DateTime dateOnly = dateTime.Date; 

、それはまだ必然的に時間の一部を含んでいますが、あなたはそれを無視することができるはずです。

+0

ありがとうございます。 .Dateは正しいタイムスタンプを生成しました。 =) – Willem

+0

これは不正確になる危険性があります。たとえば、GMTからBSTに移動し、真夜中が前日の午後11時に移動すると、日付部分が変更されました。 – Sam

1

使用

DateTime.Now.Date 

またはMyDateに該当ため

myDate.Date 
+1

FYI、 'DateTime.Today'は' DateTime.Now 'の便利な省略形です。日付 ' – Jon

1

あなたは、任意の日付を持っている場合は

DateTime anyDate = DateTime.Now; 
DateTime dateAtNoon = anyDate.Date.AddHours(12); 

またはあなたが今日ショートカットを使用することができますしたい場合

DateTime dateAtNoon = DateTime.Today.AddHours(12); 
1

これはts.Date

var ts = DateTime.Now; 
var dateAtMidnight = ts.Date; 
var dateAtNoon = ts.Date.AddHours(12); 
+0

私は、デフォルトでは時間のない新しい日付がデフォルトで午前12時に設定されることを確信しています。これはあなたが示唆していたものと異なっていますか? –

+0

正しい。私はちょうど12PMにそれをデフォルトに間違って見つけるとウィレムはprecifiedしていない。彼がヨーロッパに住んでいる場合、12:00は午後12時を意味します。 – VdesmedT

2

他のポスターと同様に

DateTime.Now.Date 

です。しかし、クライアント/サーバーマシン上の異なるTZ間で発生する問題を防ぐために、タイムゾーン情報を除外したいかどうかについても検討する価値があります。

あなたは日付を保存したいん

var dateTime = new DateTime(DateTime.Now.Date.Ticks, DateTimeKind.Unspecified); 
関連する問題