{"id":2330452,"date":"2024-05-08T18:25:07","date_gmt":"2024-05-09T01:25:07","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2330452"},"modified":"2024-05-09T12:02:04","modified_gmt":"2024-05-09T19:02:04","slug":"its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net","title":{"rendered":"It&#8217;s about time: Explore new features for date and time management in the ArcGIS Maps SDK for .NET"},"author":357152,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[738191],"tags":[32551,31081,774592,28041,772142],"industry":[],"product":[761642,769142],"class_list":["post-2330452","blog","type-blog","status-publish","format-standard","hentry","category-developers","tag-arcade","tag-date","tag-feature-forms","tag-time","tag-timestamp-offset","product-platform","product-sdk-net"],"acf":{"authors":[{"ID":357152,"user_firstname":"Matvei","user_lastname":"Stefarov","nickname":"Matvei Stefarov","user_nicename":"mstefarov","display_name":"Matvei Stefarov","user_email":"MStefarov@esri.com","user_url":"","user_registered":"2024-05-08 05:27:12","user_description":"Matvei is a principal software engineer on ArcGIS Maps SDK (aka ArcGIS Runtime). His current focus is on .NET technologies, authentication, secure software developement, performance optimization, and interoperability with open standards. Before Esri, Matvei worked on aeronautical data management systems and game engines.","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/b7de1618f917d36fedefa2f9b1b99f6930dfb66a447e4993e83138b32614b851?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/b7de1618f917d36fedefa2f9b1b99f6930dfb66a447e4993e83138b32614b851?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"}],"short_description":"Release 200.4 adds DateOnly, TimeOnly, and TimestampOffset fields to provide flexible temporal data storage and enhance time zone support.","flexible_content":[{"acf_fc_layout":"content","content":"<p>The ArcGIS Maps SDKs for Native Apps 200.4 release introduces support for three new field types that enhance the way date and time data is stored and managed:<\/p>\n<ul>\n<li><strong><a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/data\/geodatabases\/overview\/arcgis-field-data-types.htm#ESRI_SECTION2_8C509C09A43E444699D67D75EB45A31A\">DateOnly<\/a><\/strong> stores date values without any associated time component. This is useful when only the date information is relevant, such as birthdates or inspection dates.<\/li>\n<li><strong><a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/data\/geodatabases\/overview\/arcgis-field-data-types.htm#ESRI_SECTION2_016C8F489943480A89D89381F56BBCAA\">TimeOnly<\/a><\/strong> stores time values without any associated date component. This can be used for scenarios where only the time-of-day matters, such as business hours or scheduled events.<\/li>\n<li><strong><a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/data\/geodatabases\/overview\/arcgis-field-data-types.htm#ESRI_SECTION2_81B6BC9A1B5D4DDC915552E60DC4EBDD\">TimestampOffset<\/a><\/strong> stores both date and time values along with the time zone information. This field type is particularly useful for mapping events that occur across multiple time zones, such as earthquakes or car accidents.<\/li>\n<\/ul>\n<p>This article focuses on details of how these field types work in the .NET Maps SDK, but they are also supported across the ArcGIS Platform including <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/mapping\/time-is-on-your-side-with-new-field-types-in-arcgis-online\/\">ArcGIS Online<\/a>, <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/announcements\/whats-new-in-arcgis-pro-3-2\/#four-new-field-types\">ArcGIS Pro<\/a>, and other <a href=\"https:\/\/developers.arcgis.com\/documentation\/mapping-apis-and-services\/apis-and-sdks\/#native\">Native Maps SDKs<\/a>.<\/p>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"dateonly_and_timeonly\">DateOnly and TimeOnly<\/h2>\n<p>When targeting .NET 8.0+, the values of &#8220;DateOnly&#8221; and &#8220;TimeOnly&#8221; attributes are represented by <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/standard\/datetime\/how-to-use-dateonly-timeonly\">System.DateOnly and System.TimeOnly<\/a>. However, the .NET Maps SDK also supports targeting .NET Framework and UWP, which lack these built-in types. For these legacy platforms we provide API-compatible replacements: <a href=\"https:\/\/developers.arcgis.com\/net\/api-reference\/api\/netfx\/Esri.ArcGISRuntime\/Esri.ArcGISRuntime.DateOnly.html\">Esri.ArcGISRuntime.DateOnly<\/a> and <a href=\"https:\/\/developers.arcgis.com\/net\/api-reference\/api\/netfx\/Esri.ArcGISRuntime\/Esri.ArcGISRuntime.TimeOnly.html\">Esri.ArcGISRuntime.TimeOnly<\/a>. These implementations provide the same APIs, so you can write &#8220;DateOnly&#8221; and &#8220;TimeOnly&#8221; in the source code of multi-targeted and shared projects. The compiler will use types from either &#8220;System&#8221; or &#8220;Esri.ArcGISRuntime&#8221; depending on the target configuration. Here are some examples of code using type names, constructors, and methods that work on all platforms:<\/p>\n<pre><code style=\"color: #000000\"><span style=\"color: #008000;font-weight: 400\">\/\/ Set a DateOnly attribute<\/span>\r\nfeature[<span style=\"color: #a31515;font-weight: 400\">\"DateOnlyField\"<\/span>] = <span style=\"color: #0000ff;font-weight: 400\">new<\/span> DateOnly(<span style=\"color: #000000;font-weight: 400\">1991<\/span>, <span style=\"color: #000000;font-weight: 400\">8<\/span>, <span style=\"color: #000000;font-weight: 400\">24<\/span>);\r\n\r\n<span style=\"color: #008000;font-weight: 400\">\/\/ Create a TimeOnly from ISO string<\/span>\r\ngraphic[<span style=\"color: #a31515;font-weight: 400\">\"TimeOnlyField\"<\/span>] = TimeOnly.Parse(<span style=\"color: #a31515;font-weight: 400\">\"23:31:30\"<\/span>);\r\n\r\n<span style=\"color: #008000;font-weight: 400\">\/\/ Get maximum allowed value for a range-restricted DateOnly field<\/span>\r\nDateOnly? GetMaxDate(Field field)\r\n{\r\n    <span style=\"color: #0000ff;font-weight: 400\">if<\/span> (field.Domain <span style=\"color: #0000ff;font-weight: 400\">is<\/span> RangeDomain&lt;DateOnly&gt; rangeDomain)\r\n        <span style=\"color: #0000ff;font-weight: 400\">return<\/span> rangeDomain.MaxValue;\r\n    <span style=\"color: #0000ff;font-weight: 400\">else<\/span>\r\n        <span style=\"color: #0000ff;font-weight: 400\">return<\/span> <span style=\"color: #a31515;font-weight: 400\">null<\/span>;\r\n}<\/code><\/pre>\n<p>Note that although System.TimeOnly struct can represent time values with 100 nanosecond precision, the TimeOnly field type has 1-second resolution. Values will be rounded down to the nearest second when editing TimeOnly attributes. The DateOnly and TimeOnly field types are not time zone aware.<\/p>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"timestamp_offset\">TimestampOffset<\/h2>\n<p>TimestampOffset fields combine a date, a time, and a difference in hours and minutes from UTC+00:00 (Universal Coordinated Time, equivalent to Greenwich Mean Time).<\/p>\n<p>There is no better built-in type than <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/api\/system.datetimeoffset?view=net-8.0\">System.DateTimeOffset<\/a> to represent values of new TimestampOffset attributes. However, previous versions of the .NET Maps SDK allowed both System.DateTimeOffset values and System.DateTime values for fields of type &#8220;Date&#8221;. A change was necessary to avoid confusion between these similar types, prevent unintended implicit conversion, and preserve time zone information. With the latest release, we have introduced an opt-in <a href=\"https:\/\/developers.arcgis.com\/net\/api-reference\/api\/netwin\/Esri.ArcGISRuntime\/Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.EnableTimestampOffsetSupport.html\">ArcGISRuntimeEnvironment.EnableTimestampOffsetSupport<\/a> flag that unlocks use of TimestampOffset fields, but also necessarily changes the behavior of Date fields.<\/p>\n<p>When EnableTimestampOffsetSupport is <code>false<\/code> (default in v200.4):<\/p>\n<ul>\n<li>Values of Date attributes are returned as DateTimeOffset (always UTC).<\/li>\n<li>Values of TimestampOffset attributes are also returned as DateTimeOffset.<\/li>\n<li>Either DateTime or DateTimeOffset values can be used when editing Date fields.<\/li>\n<li>Editing data with TimestampOffset fields is not supported. A NotSupportedException will be thrown.<\/li>\n<li>Creating TimestampOffset fields, domains, renderers, or Arcade expressions is not supported.<\/li>\n<\/ul>\n<p>When EnableTimestampOffsetSupport is changed to <code>true<\/code>:<\/p>\n<ul>\n<li>Values of Date attributes are returned as DateTime (UTC). Trying to set a Date attribute to a DateTimeOffset value fails with a &#8220;Geodatabase data type mismatch&#8221; exception.<\/li>\n<li>Values of TimestampOffset attributes are also returned as DateTimeOffset.<\/li>\n<li>Only DateTime values can be used to edit Date attributes. They are converted to UTC.<\/li>\n<li>DateTimeOffset values can be used to edit TimestampOffset fields.<\/li>\n<li>Creating TimestampOffset fields, domains, renderers, and Arcade expressions is supported.<\/li>\n<\/ul>\n"},{"acf_fc_layout":"content","content":"<p>Let&#8217;s look at some examples of code that may be affected by these behavior changes. First, the original code that works when EnableTimestampOffsetSupport is off:<\/p>\n<pre><code style=\"color: #000000\">feature[<span style=\"color: #a31515;font-weight: 400\">\"Date1\"<\/span>] = DateTimeOffset.Now;\r\nfeature[<span style=\"color: #a31515;font-weight: 400\">\"Date2\"<\/span>] = DateTimeOffset.Parse(<span style=\"color: #a31515;font-weight: 400\">\"7\/14\/2016 12:00:00 AM -08:00\"<\/span>);\r\n<span style=\"color: #0000ff;font-weight: 400\">var<\/span> isDate = feature.GetAttributeValue(<span style=\"color: #a31515;font-weight: 400\">\"Date3\"<\/span>) <span style=\"color: #0000ff;font-weight: 400\">is<\/span> DateTimeOffset;\r\n<span style=\"color: #0000ff;font-weight: 400\">var<\/span> maxDate = (DateTimeOffset)statisticRecord.Statistics[<span style=\"color: #a31515;font-weight: 400\">\"MaxDate\"<\/span>];\r\n<\/code><\/pre>\n<p>Now the same code, updated to enable TimestampOffset support:<\/p>\n<pre><code style=\"color: #000000\"><span style=\"color: #008000;font-weight: 400\">\/\/ Use DateTime instead of DateTimeOffset when setting attributes<\/span>\r\nfeature[<span style=\"color: #a31515;font-weight: 400\">\"Date1\"<\/span>] = DateTime.UtcNow;\r\nfeature[<span style=\"color: #a31515;font-weight: 400\">\"Date2\"<\/span>] = DateTimeOffset.Parse(<span style=\"color: #a31515;font-weight: 400\">\"7\/14\/2016 12:00:00 AM -08:00\"<\/span>).UtcDateTime;\r\n\r\n<span style=\"color: #008000;font-weight: 400\">\/\/ Change the expected type of the attribute value to DateTime<\/span>\r\n<span style=\"color: #0000ff;font-weight: 400\">var<\/span> isDate = feature.GetAttributeValue(<span style=\"color: #a31515;font-weight: 400\">\"Date3\"<\/span>) <span style=\"color: #0000ff;font-weight: 400\">is<\/span> DateTime;\r\n\r\n<span style=\"color: #008000;font-weight: 400\">\/\/ No changes needed because DateTime can be safely cast to DateTimeOffset.<\/span>\r\n<span style=\"color: #0000ff;font-weight: 400\">var<\/span> maxDate = (DateTimeOffset)statisticRecord.Statistics[<span style=\"color: #a31515;font-weight: 400\">\"MaxDate\"<\/span>];\r\n<\/code><\/pre>\n<p>The EnableTimestampOffsetSupport flag currently defaults to <code>false<\/code>, so your existing codebase will continue working as-is when you upgrade to 200.4. To enable support for TimestampOffset fields, set this property to <code>true<\/code> when initializing the app. We encourage developers to review and adopt parts of their app that work with dates because the default value will change to <code>true<\/code> in the next release.<\/p>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"time_and_date_in_arcade\">Time and Date in Arcade Expressions<\/h2>\n<p>ArcGIS Arcade <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/mapping\/get-the-most-out-of-your-temporal-data-with-arcade\/\">significantly updated and expanded functionality related to date and time<\/a> recently. Starting with the .NET Maps SDK 200.4, <a href=\"https:\/\/developers.arcgis.com\/net\/api-reference\/api\/netwin\/Esri.ArcGISRuntime\/Esri.ArcGISRuntime.Arcade.ArcadeEvaluator.html\">ArcadeEvaluator<\/a> can now accept and return DateTime, DateOnly, TimeOnly, and DateTimeOffset values.<\/p>\n<p>In ArcGIS Arcade, the <a href=\"https:\/\/developers.arcgis.com\/arcade\/guide\/types\/#date\">Date data type<\/a> is always time zone-aware and prefers local time zones. Inputs without time zone information (i.e. Date attributes, DateTime-valued profile variables, and parsed dates) are assumed to be in local time. Inputs with time zone information (i.e. TimestampOffset attributes, DateTimeOffset-valued profile variables, and parsed timestamps) are converted to local time. This means that most of the time, ArcadeExpression that produces a Date will return it as a local DateTimeOffset.<\/p>\n<p>When creating dates inside Arcade expressions, be aware that Arcade&#8217;s <a href=\"https:\/\/developers.arcgis.com\/arcade\/function-reference\/date_functions\/#dateyear-month-day-hour-minute-second-millisecond-timezone---date\">Date()<\/a> and <a href=\"https:\/\/developers.arcgis.com\/arcade\/function-reference\/date_functions\/#dateonlyyear-month-day---dateonly\">DateOnly()<\/a> functions use a zero-based index for months, where 0 represents January and 11 represents December. Putting it all together:<\/p>\n<table>\n<tbody>\n<tr>\n<th><strong>Arcade Expression<\/strong><\/th>\n<th><strong>Expected evaluation result<\/strong><\/th>\n<\/tr>\n<tr>\n<td><code>$feature.SomeDateField<\/code><\/td>\n<td>Either a UTC DateTime or a UTC DateTimeOffset depending on EnableTimestampOffsetSupport setting.<\/td>\n<\/tr>\n<tr>\n<td><code>$feature.TimestampOffsetField<\/code><\/td>\n<td>A DateTimeOffset matching feature&#8217;s original time zone.<\/td>\n<\/tr>\n<tr>\n<td><code>DateOnly(1988, 1, 5)<\/code><\/td>\n<td>A DateOnly representing 1988-02-05 (because months are zero-indexed).<\/td>\n<\/tr>\n<tr>\n<td><code>Time()<\/code><\/td>\n<td>A TimeOnly with local wall time.<\/td>\n<\/tr>\n<tr>\n<td><code>Date('2016-10-20T17:41:37')<\/code><\/td>\n<td>A DateTimeOffset\u00a0<em>interpreted<\/em>\u00a0as local time (17:41:37 PST).<\/td>\n<\/tr>\n<tr>\n<td><code>Date('2016-10-20T17:41:37+00:00')<\/code><\/td>\n<td>A DateTimeOffset\u00a0<em>converted<\/em>\u00a0to local time (9:41:37 PST).<\/td>\n<\/tr>\n<tr>\n<td><code>ToUTC(Date('2016-10-20T17:41:37+00:00'))<\/code><\/td>\n<td>A UTC DateTimeOffset (17:41:37 UTC).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"time_and_date_in_feature_forms\">Time and Date in Feature Forms<\/h2>\n<p><a href=\"https:\/\/developers.arcgis.com\/net\/release-notes\/release-notes-for-200-4\/#attribute-editing-with-feature-forms\">Feature forms<\/a> support editing Date fields using DateTimePickerFormInput. Editing DateOnly, TimeOnly, and TimestampOffset fields will be supported in a future release.<\/p>\n<p>Although Date fields are stored in UTC, the DateTimePickerFormInput will always display values converted to the local time zone. Keep time zones in mind when declaring Min and Max constraints for a DateTimePickerFormInput \u2014 these are absolute UTC timestamps and do not account for user&#8217;s time zone.<\/p>\n<p>For example, a Date field with value &#8220;1969-07-20T20:17:00Z&#8221; will be displayed to a user in Florida as &#8220;20 July 1969, 4:17:00 PM&#8221; (EDT). If the input uses Min\/Max properties to constrain values to the range &#8220;1900-01-01T00:00:00Z&#8221; to &#8220;1999-12-31T23:59:59Z&#8221;, then user will be able to pick any value between &#8220;1899-12-31 19:00:00&#8221; (EST) and &#8220;1999-12-31 18:59:59&#8221; (EST).<\/p>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"conclusion\">Conclusion<\/h2>\n<p>The new DateOnly, TimeOnly, and TimestampOffset field types in ArcGIS Maps SDKs for Native Apps 200.4 release provide more precise and effective ways to store and manage temporal data. You can now:<\/p>\n<ul>\n<li>Represent dates and times separately when needed.<\/li>\n<li>Store time zone-aware timestamps for mapping events across time zones.<\/li>\n<li>Utilize these types in Arcade expressions.<\/li>\n<\/ul>\n<p>We&#8217;re excited to offer this expanded functionality and hope it enhances your applications. Enabling TimestampOffset support may require some code changes, but using data types that are right for the job will make developers&#8217; and users&#8217; lives easier in the long term. Please share your thoughts and questions on the <a href=\"https:\/\/community.esri.com\/t5\/net-maps-sdk-questions\/bd-p\/arcgis-runtime-sdk-dotnet-questions\">.NET Maps SDK&#8217;s Esri Community board<\/a>.<\/p>\n"}],"related_articles":[{"ID":2190282,"post_author":"58731","post_date":"2023-12-21 05:00:03","post_date_gmt":"2023-12-21 13:00:03","post_content":"","post_title":"Get the most out of your temporal data with Arcade","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"get-the-most-out-of-your-temporal-data-with-arcade","to_ping":"","pinged":"","post_modified":"2024-11-11 12:29:02","post_modified_gmt":"2024-11-11 20:29:02","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2190282","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2097802,"post_author":"320122","post_date":"2023-10-25 22:00:00","post_date_gmt":"2023-10-26 05:00:00","post_content":"","post_title":"Time is on Your Side with New Field Types in ArcGIS Online","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"time-is-on-your-side-with-new-field-types-in-arcgis-online","to_ping":"","pinged":"","post_modified":"2024-09-24 16:10:24","post_modified_gmt":"2024-09-24 23:10:24","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2097802","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2293842,"post_author":"3811","post_date":"2024-04-11 07:02:37","post_date_gmt":"2024-04-11 14:02:37","post_content":"","post_title":"What\u2019s new in ArcGIS Maps SDKs for Native Apps 200.4","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"whats-new-in-arcgis-maps-sdks-for-native-apps-200-4","to_ping":"","pinged":"","post_modified":"2024-05-10 12:22:56","post_modified_gmt":"2024-05-10 19:22:56","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2293842","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/05\/card-1.jpg","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/05\/banner.jpg"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>It&#039;s about time: Explore new features for date and time management in the ArcGIS Maps SDK for .NET<\/title>\n<meta name=\"description\" content=\"Release 200.4 adds DateOnly, TimeOnly, and TimestampOffset fields to provide flexible temporal data storage and enhance time zone support.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"It&#039;s about time: Explore new features for date and time management in the ArcGIS Maps SDK for .NET\" \/>\n<meta property=\"og:description\" content=\"Release 200.4 adds DateOnly, TimeOnly, and TimestampOffset fields to provide flexible temporal data storage and enhance time zone support.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-09T19:02:04+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net\"},\"author\":{\"name\":\"Matvei Stefarov\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1e763d08e3e9a31fa45b739140b1444e\"},\"headline\":\"It&#8217;s about time: Explore new features for date and time management in the ArcGIS Maps SDK for .NET\",\"datePublished\":\"2024-05-09T01:25:07+00:00\",\"dateModified\":\"2024-05-09T19:02:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net\"},\"wordCount\":19,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"arcade\",\"date\",\"feature forms\",\"Time\",\"timestamp-offset\"],\"articleSection\":[\"Developers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net\",\"name\":\"It's about time: Explore new features for date and time management in the ArcGIS Maps SDK for .NET\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2024-05-09T01:25:07+00:00\",\"dateModified\":\"2024-05-09T19:02:04+00:00\",\"description\":\"Release 200.4 adds DateOnly, TimeOnly, and TimestampOffset fields to provide flexible temporal data storage and enhance time zone support.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"It&#8217;s about time: Explore new features for date and time management in the ArcGIS Maps SDK for .NET\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1e763d08e3e9a31fa45b739140b1444e\",\"name\":\"Matvei Stefarov\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b7de1618f917d36fedefa2f9b1b99f6930dfb66a447e4993e83138b32614b851?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b7de1618f917d36fedefa2f9b1b99f6930dfb66a447e4993e83138b32614b851?s=96&d=blank&r=g\",\"caption\":\"Matvei Stefarov\"},\"description\":\"Matvei is a principal software engineer on ArcGIS Maps SDK (aka ArcGIS Runtime). His current focus is on .NET technologies, authentication, secure software developement, performance optimization, and interoperability with open standards. Before Esri, Matvei worked on aeronautical data management systems and game engines.\",\"worksFor\":\"Esri\",\"url\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"It's about time: Explore new features for date and time management in the ArcGIS Maps SDK for .NET","description":"Release 200.4 adds DateOnly, TimeOnly, and TimestampOffset fields to provide flexible temporal data storage and enhance time zone support.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net","og_locale":"en_US","og_type":"article","og_title":"It's about time: Explore new features for date and time management in the ArcGIS Maps SDK for .NET","og_description":"Release 200.4 adds DateOnly, TimeOnly, and TimestampOffset fields to provide flexible temporal data storage and enhance time zone support.","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2024-05-09T19:02:04+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net"},"author":{"name":"Matvei Stefarov","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1e763d08e3e9a31fa45b739140b1444e"},"headline":"It&#8217;s about time: Explore new features for date and time management in the ArcGIS Maps SDK for .NET","datePublished":"2024-05-09T01:25:07+00:00","dateModified":"2024-05-09T19:02:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net"},"wordCount":19,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["arcade","date","feature forms","Time","timestamp-offset"],"articleSection":["Developers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net","name":"It's about time: Explore new features for date and time management in the ArcGIS Maps SDK for .NET","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2024-05-09T01:25:07+00:00","dateModified":"2024-05-09T19:02:04+00:00","description":"Release 200.4 adds DateOnly, TimeOnly, and TimestampOffset fields to provide flexible temporal data storage and enhance time zone support.","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-net\/developers\/its-about-time-explore-new-features-for-date-and-time-management-in-the-native-maps-sdk-for-net#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"It&#8217;s about time: Explore new features for date and time management in the ArcGIS Maps SDK for .NET"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1e763d08e3e9a31fa45b739140b1444e","name":"Matvei Stefarov","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b7de1618f917d36fedefa2f9b1b99f6930dfb66a447e4993e83138b32614b851?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b7de1618f917d36fedefa2f9b1b99f6930dfb66a447e4993e83138b32614b851?s=96&d=blank&r=g","caption":"Matvei Stefarov"},"description":"Matvei is a principal software engineer on ArcGIS Maps SDK (aka ArcGIS Runtime). His current focus is on .NET technologies, authentication, secure software developement, performance optimization, and interoperability with open standards. Before Esri, Matvei worked on aeronautical data management systems and game engines.","worksFor":"Esri","url":""}]}},"text_date":"May 8, 2024","author_name":"Matvei Stefarov","author_page":false,"custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/05\/banner.jpg","primary_product":"ArcGIS Maps SDK for .NET","tag_data":[{"term_id":32551,"name":"arcade","slug":"arcade","term_group":0,"term_taxonomy_id":32551,"taxonomy":"post_tag","description":"","parent":0,"count":113,"filter":"raw"},{"term_id":31081,"name":"date","slug":"date","term_group":0,"term_taxonomy_id":31081,"taxonomy":"post_tag","description":"","parent":0,"count":10,"filter":"raw"},{"term_id":774592,"name":"feature forms","slug":"feature-forms","term_group":0,"term_taxonomy_id":774592,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":28041,"name":"Time","slug":"time","term_group":0,"term_taxonomy_id":28041,"taxonomy":"post_tag","description":"","parent":0,"count":25,"filter":"raw"},{"term_id":772142,"name":"timestamp-offset","slug":"timestamp-offset","term_group":0,"term_taxonomy_id":772142,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"}],"category_data":[{"term_id":738191,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":738191,"taxonomy":"category","description":"","parent":0,"count":426,"filter":"raw"}],"product_data":[{"term_id":761642,"name":"ArcGIS Location Platform","slug":"platform","term_group":0,"term_taxonomy_id":761642,"taxonomy":"product","description":"","parent":36601,"count":215,"filter":"raw"},{"term_id":769142,"name":"ArcGIS Maps SDK for .NET","slug":"sdk-net","term_group":0,"term_taxonomy_id":769142,"taxonomy":"product","description":"","parent":36601,"count":40,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=sdk-net","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2330452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/357152"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2330452"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2330452\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2330452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2330452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2330452"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2330452"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2330452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}