public void Add_MethodEquivalents() { const int minutes = 23; const int hours = 3; const int milliseconds = 40000; const long seconds = 321; const long nanoseconds = 12345; const long ticks = 5432112345; ZonedDateTime before = SampleZone.AtStrictly(new LocalDateTime(2011, 6, 12, 15, 0)); Assert.AreEqual(before + Duration.OneDay, ZonedDateTime.Add(before, Duration.OneDay)); Assert.AreEqual(before + Duration.OneDay, before.Plus(Duration.OneDay)); Assert.AreEqual(before + Duration.FromHours(hours), before.PlusHours(hours)); Assert.AreEqual(before + Duration.FromHours(-hours), before.PlusHours(-hours)); Assert.AreEqual(before + Duration.FromMinutes(minutes), before.PlusMinutes(minutes)); Assert.AreEqual(before + Duration.FromMinutes(-minutes), before.PlusMinutes(-minutes)); Assert.AreEqual(before + Duration.FromSeconds(seconds), before.PlusSeconds(seconds)); Assert.AreEqual(before + Duration.FromSeconds(-seconds), before.PlusSeconds(-seconds)); Assert.AreEqual(before + Duration.FromMilliseconds(milliseconds), before.PlusMilliseconds(milliseconds)); Assert.AreEqual(before + Duration.FromMilliseconds(-milliseconds), before.PlusMilliseconds(-milliseconds)); Assert.AreEqual(before + Duration.FromTicks(ticks), before.PlusTicks(ticks)); Assert.AreEqual(before + Duration.FromTicks(-ticks), before.PlusTicks(-ticks)); Assert.AreEqual(before + Duration.FromNanoseconds(nanoseconds), before.PlusNanoseconds(nanoseconds)); Assert.AreEqual(before + Duration.FromNanoseconds(-nanoseconds), before.PlusNanoseconds(-nanoseconds)); }
private static ZonedDateTime CorrectDaylightSavingTime(LocalTime minTime, ZonedDateTime zoned) { var diffHour = minTime.Hour - zoned.Hour; var diffMin = minTime.Minute - zoned.Minute; var diffSec = minTime.Second - zoned.Second; return(zoned .PlusHours(diffHour) .PlusMinutes(diffMin) .PlusSeconds(diffSec)); }
public void PlusHours() { DateTimeZone dublin = DateTimeZoneProviders.Tzdb["Europe/Dublin"]; var start = Instant.FromUtc(2017, 7, 20, 5, 30); // Dublin is at UTC+1 in July 2017, so this is 6:30am. ZonedDateTime zoned = new ZonedDateTime(start, dublin); var pattern = ZonedDateTimePattern.ExtendedFormatOnlyIso; Assert.AreEqual("2017-07-20T07:30:00 Europe/Dublin (+01)", pattern.Format(Snippet.For(zoned.PlusHours(1)))); }
private async Task <List <SensorDataTableEntity> > GetTemperatureDataForDate(ZonedDateTime zonedDateTime) { var dateTimeZone = zonedDateTime.Zone; var startDateTime = zonedDateTime.ToDateTimeUtc(); var endDateTime = zonedDateTime.PlusHours(24).ToDateTimeUtc(); var requestStartTick = startDateTime.ToTicks(); var requestEndTick = endDateTime.ToTicks(); var operation = new TableQuery <SensorDataTableEntity>() .Where(TableQuery.CombineFilters( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, AppSettings.StoragePartitionKey), TableOperators.And, TableQuery.CombineFilters( TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.GreaterThanOrEqual, requestStartTick), TableOperators.And, TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.LessThan, requestEndTick)))); return((await _table.ExecuteQuerySegmentedAsync(operation, null)).ToList()); }
public async Task <List <TemperatureEntity> > GetTemperatureEntitiesForDate(string location, ZonedDateTime zonedDateTime) { var dateTimeZone = zonedDateTime.Zone; var requestStartDateTime = zonedDateTime.ToDateTimeUtc(); var requestEndDateTime = zonedDateTime.PlusHours(24).ToDateTimeUtc(); var requestStartReverseTick = requestStartDateTime.ToReverseTicks(); var requestEndReverseTick = requestEndDateTime.ToReverseTicks(); //The nature of ReverseTicks is that the start time is greater than the end time. var operation = new TableQuery <TemperatureEntity>() .Where(TableQuery.CombineFilters( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, location), TableOperators.And, TableQuery.CombineFilters( TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.LessThanOrEqual, requestStartReverseTick), TableOperators.And, TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.GreaterThan, requestEndReverseTick)))); return((await _table.ExecuteQuerySegmentedAsync(operation, null)).ToList()); }