4

いくつかの継承されたレガシーコードで次の方法に出くわしました。単純な「 returnDateTime.Now 」に置き換える必要があるように感じます。ただし、このコードの隠された意図が欠落している場合に備えて、変更を加えたくないことは明らかです。

public static DateTime GetTimeStamp() 
{
   return new DateTime(DateTime.Now.Ticks); 
}

私の推測では、実装者は「DateTime.Now」が新しいインスタンスではなく参照を返したと誤解していましたが、これに遭遇したり、この方法で実装できた本当の理由を知っている人はいます。

4

1 に答える 1

6

DateTime.Nowと同じです。DateTimeからティックを取得してコンストラクターに配置すると、同じ日時が得られます。

msdn => DateTime(int64ティック)

ただし、DateTime.Nowからタイムゾーンの認識を失う可能性があります。

The Kind property is initialized to Unspecified.

For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding DateTimeOffset constructor.
于 2013-02-06T16:24:48.573 に答える