public void ScaleToDateTime() { var utcNow = DateTime.UtcNow; var v1 = new BigtableVersion(12345); var v2 = new BigtableVersion(12345 + 1_000); var timespanDiff = v2.ToDateTime() - v1.ToDateTime(); Assert.Equal(TimeSpan.FromSeconds(1), timespanDiff); }
// [END bigtable_filters_limit_value_regex] // [START bigtable_filters_limit_timestamp_range] /// <summary> /// /// Read using a timestamp range filter from an existing table. ///</summary> /// <param name="projectId">Your Google Cloud Project ID.</param> /// <param name="instanceId">Your Google Cloud Bigtable Instance ID.</param> /// <param name="tableId">Your Google Cloud Bigtable table ID.</param> public string filterLimitTimestampRange( String projectId, String instanceId, String tableId) { BigtableVersion timestamp_minus_hr = new BigtableVersion(new DateTime(2020, 1, 10, 13, 0, 0, DateTimeKind.Utc)); // A filter that matches cells whose timestamp is from an hour ago or earlier RowFilter filter = RowFilters.TimestampRange(new DateTime(0), timestamp_minus_hr.ToDateTime()); return(readFilter(projectId, instanceId, tableId, filter)); }
public void RoundTripDateTime() { var dateTime = DateTime.UtcNow; var version = new BigtableVersion(dateTime); // BigtableVersion stores micros, but aligns to millis, which is 10000s of ticks, so truncate the ticks. var expected = new DateTime(dateTime.Ticks - (dateTime.Ticks % 10000), DateTimeKind.Utc); Assert.Equal(expected, version.ToDateTime()); }