我需要将DateTimeOffset添加到我维护的二进制序列化库中。使用DateTime,我只是简单地将滴答保存为一个Int64,但是DateTimeOffset没有将ticks作为构造函数。如何才能适当地重新建造呢?
示例
DateTime date = new DateTime.Now;
long ticks = date.Ticks;
DateTime date2 = new DateTime(ticks);
DateTimeOffset dateOffset = new DateTimeOffset.Now;
long ticks2 = dateOffset.Ticks;
DateTimeOffset dateOffset2 = new DateTimeOffset(?)发布于 2018-09-16 05:32:16
DateTimeOffset没有将滴答作为构造函数。
它确实有一个构造函数,取滴答加上偏移量…
DateTimeOffset(Int64, TimeSpan)…TimeSpan可以被构造为从滴答值…
TimeSpan(Int64) …因此,您可以将DateTimeOffset序列化为2 Int64 values…。
DateTimeOffset dto = DateTimeOffset.Now;
var ticks = dto.Ticks;
var offset = dto.Offset.Ticks;
DateTimeOffset newDto = new DateTimeOffset(ticks, new TimeSpan(offset));
Debug.Assert(dto.EqualsExact(newDto), "DateTmeOffset Mismatch");https://stackoverflow.com/questions/52350188
复制相似问题