作者:WSDRFCGFC_901 | 来源:互联网 | 2023-10-11 19:42
我在一些继承的遗留代码中遇到了以下方法.感觉它应该可以用简单的“returnDateTime.Now”替换.然而,似乎很明显,我不想在以下情况下进行更改,因为我错过了此代码的一些隐
我在一些继承的遗留代码中遇到了以下方法.感觉它应该可以用简单的“return DateTime.Now”替换.然而,似乎很明显,我不想在以下情况下进行更改,因为我错过了此代码的一些隐藏意图.
public static DateTime GetTimeStamp()
{
return new DateTime(DateTime.Now.Ticks);
}
我的猜测是,当实施者错误地认为“DateTime.Now”返回了一个引用而不是一个新实例,但是有人曾经遇到过这个或者知道一个真正的原因它可以用这种方式实现.
解决方法:
它与DateTime.Now相同.从DateTime获取刻度并将其放在构造函数中将为您提供相同的日期时间:
msdn => DateTime(int64 ticks)
但是,您可以从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.