public void ShouldCreateDateTimeWithRawValues() { var dateTime = new DateTime(1947, 12, 17, 23, 49, 54).AddTicks(1927945); var cypherDateTime = new CypherDateTime(TemporalHelpers.SecondsSinceEpoch(dateTime.Ticks), TemporalHelpers.NanosOfSecond(dateTime.Ticks)); cypherDateTime.ToDateTime().Should().Be(dateTime); }
public void ShouldCreateDateWithRawValues() { var dateTime = new DateTime(1947, 12, 17, 23, 49, 54).AddTicks(1927945); var cypherDateTime = new CypherDateTimeWithZoneId(TemporalHelpers.SecondsSinceEpoch(dateTime.Ticks), TemporalHelpers.NanosOfSecond(dateTime.Ticks), "Europe/Rome"); cypherDateTime.DateTime.Should().Be(dateTime); cypherDateTime.Offset.Should().Be(TimeSpan.FromHours(1)); cypherDateTime.ZoneId.Should().Be("Europe/Rome"); }
private CypherDateTimeWithZoneId(long ticks, string zoneId) : this(TemporalHelpers.SecondsSinceEpoch(ticks), TemporalHelpers.NanosOfSecond(ticks), zoneId) { }
internal CypherDateTime(long ticks) : this(TemporalHelpers.SecondsSinceEpoch(ticks), TemporalHelpers.NanosOfSecond(ticks)) { }
/// <summary> /// Initializes a new instance of <see cref="CypherDateTime"/> from individual date time /// </summary> /// <param name="year"></param> /// <param name="month"></param> /// <param name="day"></param> /// <param name="hour"></param> /// <param name="minute"></param> /// <param name="second"></param> /// <param name="nanosOfSecond"></param> public CypherDateTime(int year, int month, int day, int hour, int minute, int second, int nanosOfSecond) : this(TemporalHelpers.SecondsSinceEpoch( new DateTime(year, month, day, hour, minute, second, DateTimeKind.Local).Ticks), nanosOfSecond) { }
/// <summary> /// Initializes a new instance of <see cref="CypherDateTimeWithOffset"/> from ticks. /// </summary> /// <param name="ticks"></param> /// <param name="offsetSeconds"></param> public CypherDateTimeWithOffset(long ticks, int offsetSeconds) : this(TemporalHelpers.SecondsSinceEpoch(ticks), TemporalHelpers.NanosOfSecond(ticks), offsetSeconds) { }