laptop and a wrench

Bug

Javascript API Layer Definition does not work correctly with datetime values.

Last Published: August 25, 2014 ArcGIS API for JavaScript
Bug ID Number NIM038387
SubmittedSeptember 11, 2008
Last ModifiedJune 5, 2024
Applies toArcGIS API for JavaScript
Version found9.3
StatusDuplicate

Additional Information

Duplicate of NIM042471. At 10.0 REST API supports input in JSON representation for defintion query which should be used for this case.

Workaround

1) add a new field (in the database) to store a numeric date representation (float, e.g.).2) convert values in the date field to the new numeric field.3) alter javascript code according to the following example to apply the definition based on the numeric field values (without any conversion of dates whatsoever):layerDefs[0] = "DateFloat < 20071231235900"; //value is: YYYYMMDDhhmmssYou could also store datetime values in a float field in the same format used by the JavaScript getTime() function (milliseconds since midnight of 1/1/1970). Use getTime() in the application to convert the desired datetime for the layer definition. Something like:d = new Date();d.setMonth(12);d.setDate(31);d.setYear(2007);d.setHours(23);d.setMinutes(59);d.setSeconds(0);time = d.getTime();layerDefs[0] = "DateMS > " + time;

Steps to Reproduce

Bug ID: NIM038387

Software:

  • ArcGIS API for JavaScript

Get notified when the status of a bug changes

Download the Esri Support App

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options