-
Proposal:
Show
DateTime functions MUST be evaluated in the timezone of the datetime value.
So, for example, 'day" would return the day in the specified timezone, not normalized UTC.
Accepted: https://www.oasis-open.org/committees/download.php/48346/odata-meeting-26_on-20130221-minutes.html#odata-122
-
Resolution:
Show
https://www.oasis-open.org/committees/download.php/48379/odata-core-v4.0-wd01-part2-url-conventions-2013-02-25-RH.doc
Accepted: https://www.oasis-open.org/committees/download.php/48549/odata-meeting-29_on-20130314-minutes.html#odata-122
Consider for example the 'day' function applied to a DateTimeOffset.
Is this supposed to return the 'day' of the value when it is considered as UTC, or the 'day' component as it appears in the original literal value, which implies that the zone offset must be preserved when DateTimeOffset values are propagated?
If DateTimeOffset values are permitted to be 'normalized' by agents, but are not required to be, then the 'day' function applied to DateTimeOffset value would appear to be meaningless, unless it returns the UTC 'day'.
{"report":{"apdex":1,"isInitial":true,"journeyId":"16e42563-c7c6-41cb-bb88-624c6b16b1b4","key":"jira.project.issue.view-issue","navigationType":0,"readyForUser":875.3000001907349,"redirectCount":0,"resourceLoadedEnd":871.8000001907349,"resourceLoadedStart":180,"resourceTiming":[{"duration":343.7000002861023,"initiatorType":"link","name":"https://issues.oasis-open.org/s/3edeca31ab9ba77980aae0809fbe7121-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/css/_super/batch.css","startTime":180,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":180,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":523.7000002861023,"responseStart":0,"secureConnectionStart":0},{"duration":343.59999990463257,"initiatorType":"link","name":"https://issues.oasis-open.org/s/7d2823769c2e7b66e860863fe879b7f8-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/css/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&richediton=true","startTime":180.40000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":180.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":524,"responseStart":0,"secureConnectionStart":0},{"duration":343.6000003814697,"initiatorType":"link","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.css","startTime":180.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":180.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":524.1000003814697,"responseStart":0,"secureConnectionStart":0},{"duration":343.40000009536743,"initiatorType":"link","name":"https://issues.oasis-open.org/s/645acc233eb869f48a571293b8358a7d-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static-adgs/jira.webresources:global-static-adgs.css","startTime":180.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":180.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":524.2000002861023,"responseStart":0,"secureConnectionStart":0},{"duration":343.30000019073486,"initiatorType":"link","name":"https://issues.oasis-open.org/s/a0dd6509771c1de0667aae5429c04cda-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static/jira.webresources:global-static.css","startTime":181,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":181,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":524.3000001907349,"responseStart":0,"secureConnectionStart":0},{"duration":368.69999980926514,"initiatorType":"script","name":"https://issues.oasis-open.org/s/e5479157e7a0c08b005e6522f2f04104-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/js/_super/batch.js?locale=en-US","startTime":181.10000038146973,"connectEnd":181.10000038146973,"connectStart":181.10000038146973,"domainLookupEnd":181.10000038146973,"domainLookupStart":181.10000038146973,"fetchStart":181.10000038146973,"redirectEnd":0,"redirectStart":0,"requestStart":181.10000038146973,"responseEnd":549.8000001907349,"responseStart":549.8000001907349,"secureConnectionStart":181.10000038146973},{"duration":381.7999997138977,"initiatorType":"script","name":"https://issues.oasis-open.org/s/83514d5d4e8543747b02042eafcdc99c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/js/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":181.7000002861023,"connectEnd":181.7000002861023,"connectStart":181.7000002861023,"domainLookupEnd":181.7000002861023,"domainLookupStart":181.7000002861023,"fetchStart":181.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":181.7000002861023,"responseEnd":563.5,"responseStart":563.5,"secureConnectionStart":181.7000002861023},{"duration":383.7000002861023,"initiatorType":"script","name":"https://issues.oasis-open.org/s/70bb2263e59e7e1f04fbd137c80b895b-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/aae1242f5fc81cc6a5bb8bc963ccda29/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en-US","startTime":181.90000009536743,"connectEnd":181.90000009536743,"connectStart":181.90000009536743,"domainLookupEnd":181.90000009536743,"domainLookupStart":181.90000009536743,"fetchStart":181.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":181.90000009536743,"responseEnd":565.6000003814697,"responseStart":565.6000003814697,"secureConnectionStart":181.90000009536743},{"duration":384.1000003814697,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":182,"connectEnd":182,"connectStart":182,"domainLookupEnd":182,"domainLookupStart":182,"fetchStart":182,"redirectEnd":0,"redirectStart":0,"requestStart":182,"responseEnd":566.1000003814697,"responseStart":566.1000003814697,"secureConnectionStart":182},{"duration":384.19999980926514,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":182.2000002861023,"connectEnd":182.2000002861023,"connectStart":182.2000002861023,"domainLookupEnd":182.2000002861023,"domainLookupStart":182.2000002861023,"fetchStart":182.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":182.2000002861023,"responseEnd":566.4000000953674,"responseStart":566.4000000953674,"secureConnectionStart":182.2000002861023},{"duration":384.40000009536743,"initiatorType":"script","name":"https://issues.oasis-open.org/s/cda37faab827dbdf305de8efe8282062-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.js?locale=en-US","startTime":182.40000009536743,"connectEnd":182.40000009536743,"connectStart":182.40000009536743,"domainLookupEnd":182.40000009536743,"domainLookupStart":182.40000009536743,"fetchStart":182.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":182.40000009536743,"responseEnd":566.8000001907349,"responseStart":566.7000002861023,"secureConnectionStart":182.40000009536743},{"duration":384.5,"initiatorType":"link","name":"https://issues.oasis-open.org/s/07245784f53abc49bad9d9d4d36c577a-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/cadc4f20cc5c138dee060d42cf85f220/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":182.60000038146973,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":182.60000038146973,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":567.1000003814697,"responseStart":0,"secureConnectionStart":0},{"duration":384.40000009536743,"initiatorType":"script","name":"https://issues.oasis-open.org/rest/api/1.0/shortcuts/803004/a29179d70fa8562374ee16707692af77/shortcuts.js?context=issuenavigation&context=issueaction","startTime":182.7000002861023,"connectEnd":182.7000002861023,"connectStart":182.7000002861023,"domainLookupEnd":182.7000002861023,"domainLookupStart":182.7000002861023,"fetchStart":182.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":182.7000002861023,"responseEnd":567.1000003814697,"responseStart":567.1000003814697,"secureConnectionStart":182.7000002861023},{"duration":354.90000009536743,"initiatorType":"link","name":"https://issues.oasis-open.org/s/f77fd89aa211a76b20e9b0e63564383c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.css?jira.create.linked.issue=true&richediton=true","startTime":213.30000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":213.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":568.2000002861023,"responseStart":0,"secureConnectionStart":0},{"duration":354.80000019073486,"initiatorType":"script","name":"https://issues.oasis-open.org/s/41525c48ddceeb9b11e54085268fc285-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.js?jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":213.5,"connectEnd":213.5,"connectStart":213.5,"domainLookupEnd":213.5,"domainLookupStart":213.5,"fetchStart":213.5,"redirectEnd":0,"redirectStart":0,"requestStart":213.5,"responseEnd":568.3000001907349,"responseStart":568.3000001907349,"secureConnectionStart":213.5},{"duration":558.4000000953674,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":222,"connectEnd":222,"connectStart":222,"domainLookupEnd":222,"domainLookupStart":222,"fetchStart":222,"redirectEnd":0,"redirectStart":0,"requestStart":222,"responseEnd":780.4000000953674,"responseStart":780.4000000953674,"secureConnectionStart":222},{"duration":629.0999999046326,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":242.7000002861023,"connectEnd":242.7000002861023,"connectStart":242.7000002861023,"domainLookupEnd":242.7000002861023,"domainLookupStart":242.7000002861023,"fetchStart":242.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":242.7000002861023,"responseEnd":871.8000001907349,"responseStart":871.8000001907349,"secureConnectionStart":242.7000002861023},{"duration":131,"initiatorType":"xmlhttprequest","name":"https://issues.oasis-open.org/rest/webResources/1.0/resources","startTime":741.3000001907349,"connectEnd":741.3000001907349,"connectStart":741.3000001907349,"domainLookupEnd":741.3000001907349,"domainLookupStart":741.3000001907349,"fetchStart":741.3000001907349,"redirectEnd":0,"redirectStart":0,"requestStart":741.3000001907349,"responseEnd":872.3000001907349,"responseStart":872.3000001907349,"secureConnectionStart":741.3000001907349}],"threshold":1000,"fetchStart":0,"domainLookupStart":64,"domainLookupEnd":64,"connectStart":64,"connectEnd":112,"secureConnectionStart":88,"requestStart":113,"responseStart":171,"responseEnd":242,"domLoading":175,"domInteractive":963,"domContentLoadedEventStart":963,"domContentLoadedEventEnd":1008,"domComplete":1188,"loadEventStart":1188,"loadEventEnd":1190,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[],"measures":[],"correlationId":"b8281029159cbc","effectiveType":"4g","downlink":9.1,"rtt":0,"serverDuration":96,"dbReadsTimeInMs":17,"dbConnsTimeInMs":28,"applicationHash":"4d4040e0714d65b7fffa4801569d014c0b16eaa9","experiments":[]}}
Consider also that the protocol spec (2013-03-12) states:
10.4.1.3 Handling of DateTimeOffset Values
Services SHOULD preserve the offset of Edm.DateTimeOffset values, if at all possible. However, where the underlying storage does not support offset services MAY be forced to normalize the value to some common time zone (i.e. UTC) in which case the result would be returned with that time zone offset.
Again this suggests that year, month, day, hour, minute, second, and totaloffsetminutes filter functions are meaningless unless the value is converted to UTC implicitly during their application. It is no use to clients if the value used in filter evaluation depends on whether or not the server can preserve the zone offsets for stored values.