Announcement: All noncommercial projects registered to use Earth Engine before April 15, 2025 must verify noncommercial eligibility to maintain Earth Engine access.
Stay organized with collections
Save and categorize content based on your preferences.
Shortcut to filter a collection by a date range. The start and end may be Dates, numbers (interpreted as milliseconds since 1970-01-01T00:00:00Z), or strings (such as '1996-01-01T08:00'). Based on 'system:time_start'.
This is equivalent to this.filter(ee.Filter.date(...)); see the ee.Filter type for other date filtering options.
Returns the filtered collection.
Usage
Returns
ImageCollection.filterDate(start, end)
Collection
Argument
Type
Details
this: collection
Collection
The Collection instance.
start
Date|Number|String
The start date (inclusive).
end
Date|Number|String, optional
The end date (exclusive). Optional. If not specified, a 1-millisecond range starting at 'start' is created.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-10-06 UTC."],[[["\u003cp\u003e\u003ccode\u003eImageCollection.filterDate()\u003c/code\u003e allows you to filter an image collection by a specific date range using start and end dates.\u003c/p\u003e\n"],["\u003cp\u003eStart and end dates can be specified as Dates, numbers (milliseconds since 1970-01-01T00:00:00Z), or date strings (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS).\u003c/p\u003e\n"],["\u003cp\u003eThe filter is based on the \u003ccode\u003esystem:time_start\u003c/code\u003e property of images within the collection.\u003c/p\u003e\n"],["\u003cp\u003eIf the end date is not provided, a 1-millisecond range starting at the start date is used for filtering.\u003c/p\u003e\n"],["\u003cp\u003eThis function is a shortcut to using \u003ccode\u003eee.Filter.date()\u003c/code\u003e and returns the filtered collection.\u003c/p\u003e\n"]]],["The `filterDate` method filters an ImageCollection by a date range, based on 'system:time_start'. It accepts start and optional end dates as Dates, numbers (milliseconds since 1970), or strings. If no end date is provided, a 1-millisecond range from the start is used. This function returns a filtered collection. Examples demonstrate usage with various input formats, including date strings, milliseconds, `ee.Date` objects, and `ee.DateRange` objects in both JavaScript and Python.\n"],null,["# ee.ImageCollection.filterDate\n\n\u003cbr /\u003e\n\nShortcut to filter a collection by a date range. The start and end may be Dates, numbers (interpreted as milliseconds since 1970-01-01T00:00:00Z), or strings (such as '1996-01-01T08:00'). Based on 'system:time_start'.\n\n\u003cbr /\u003e\n\nThis is equivalent to this.filter(ee.Filter.date(...)); see the ee.Filter type for other date filtering options.\n\nReturns the filtered collection.\n\n| Usage | Returns |\n|----------------------------------------------|------------|\n| ImageCollection.filterDate`(start, `*end*`)` | Collection |\n\n| Argument | Type | Details |\n|--------------------|--------------------------------|-------------------------------------------------------------------------------------------------------------|\n| this: `collection` | Collection | The Collection instance. |\n| `start` | Date\\|Number\\|String | The start date (inclusive). |\n| `end` | Date\\|Number\\|String, optional | The end date (exclusive). Optional. If not specified, a 1-millisecond range starting at 'start' is created. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// A Landsat 8 TOA image collection intersecting a specific point.\nvar col = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')\n .filterBounds(ee.Geometry.Point(-90.70, 34.71));\n\n// Filter the collection by date using date strings.\nprint('2020 images', col.filterDate('2020', '2021'));\nprint('July images, 2020', col.filterDate('2020-07', '2020-08'));\nprint('Early July images, 2020', col.filterDate('2020-07-01', '2020-07-10'));\nprint('Include time (13 hours, July 7, 2020)',\n col.filterDate('2020-07-05T06:34:46', '2020-07-05T19:34:46'));\n\n// Use milliseconds since Unix epoch.\nprint('Milliseconds inputs', col.filterDate(1593967014062, 1595349419611));\n\n// Use ee.Date objects.\nprint('ee.Date inputs', col.filterDate(ee.Date('2020'), ee.Date('2021')));\n\n// Use an ee.DateRange object.\nvar dateRange = ee.DateRange('2020-07-01', '2020-07-10');\nprint('ee.DateRange input', col.filterDate(dateRange));\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# A Landsat 8 TOA image collection intersecting a specific point.\ncol = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA').filterBounds(\n ee.Geometry.Point(-90.70, 34.71))\n\n# Filter the collection by date using date strings.\nprint('2020 images:', col.filterDate('2020', '2021').getInfo())\nprint('July images, 2020:', col.filterDate('2020-07', '2020-08').getInfo())\nprint('Early July images, 2020:',\n col.filterDate('2020-07-01', '2020-07-10').getInfo())\nprint('Include time (13 hours, July 7, 2020):',\n col.filterDate('2020-07-05T06:34:46', '2020-07-05T19:34:46').getInfo())\n\n# Use milliseconds since Unix epoch.\nprint('Milliseconds inputs:',\n col.filterDate(1593967014062, 1595349419611).getInfo())\n\n# Use ee.Date objects.\nprint('ee.Date inputs',\n col.filterDate(ee.Date('2020'), ee.Date('2021')).getInfo())\n\n# Use an ee.DateRange object.\ndate_range = ee.DateRange('2020-07-01', '2020-07-10')\nprint('ee.DateRange input', col.filterDate(date_range).getInfo())\n```"]]