4

我在一些继承的遗留代码中遇到了以下方法。感觉它应该可以用一个简单的“ return DateTime.Now ”替换。然而,这似乎很明显,我不想做出改变,以防我错过了这段代码的一些隐藏意图。

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

我的猜测是,当时实现者错误地认为“DateTime.Now”返回了一个引用而不是一个新实例,但是有没有人遇到过这个或者知道它可以以这种方式实现的真正原因。

4

1 回答 1

6

它与 DateTime.Now 相同。从 DateTime 获取刻度并将其放入构造函数将为您提供相同的日期时间:

msdn => 日期时间(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 回答