/// <summary> /// https://github.com/radiantearth/stac-spec/blob/master/item-spec/common-metadata.md#date-and-time /// </summary> /// <param name="item"></param> /// <param name="properties"></param> private static void FillDateTimeProperties(AtomItem item, Dictionary <string, object> properties) { DateTime startDate = item.FindStartDate(); DateTime endDate = item.FindEndDate(); Itenso.TimePeriod.TimeInterval dateInterval = new Itenso.TimePeriod.TimeInterval(startDate, endDate); // remove previous values properties.Remove("datetime"); properties.Remove("start_datetime"); properties.Remove("end_datetime"); // datetime, start_datetime, end_datetime if (dateInterval.IsAnytime) { properties.Add("datetime", null); } else { if (dateInterval.IsMoment) { properties.Add("datetime", dateInterval.Start); } else { properties.Add("datetime", dateInterval.Start); properties.Add("start_datetime", dateInterval.Start); properties.Add("end_datetime", dateInterval.Start); } } if (item.PublishDate.Ticks != 0) { properties.Remove("created"); properties.Add("created", item.PublishDate.DateTime); } if (item.LastUpdatedTime.Ticks != 0) { properties.Remove("updated"); properties.Add("updated", item.LastUpdatedTime.DateTime); } }