Query by Date in Javascript

This page shows multiple ways to query documents based on a date field.

Here we use a few predicates that can query based on Date or Timestamp fields. Feel free to explore the Date & Time based Predicate Reference page to learn more about this.

Query a Date Field by an exact date

Here is an example of how to query for all the articles with the release-date field (Date) equal to January 22, 2017. Note that this only works for the Date Field, not the Time Stamp field.

Copy
//To retreive the API object check how to query the API
api.query(
    Prismic.Predicates.at('my.article.release-date', new Date('2017-01-22'))
).then(function(content) {
    // content is the response object, content.results holds the documents
});

Query a Date Field that falls in a certain month & year

Here is an example of a query for all documents of the type “blog-post” whose release-date is in the month of May in the year 2016. This might be useful for a blog archive.

Copy
//To retreive the API object check how to query the API
api.query([
    Prismic.Predicates.month('my.blog-post.release-date', 'May'),
    Prismic.Predicates.year('my.blog-post.release-date', 2016)
]).then(function(blogPosts) {
    // blogPosts is the response object, blogPosts.results holds the documents
});

Query by Publication Dates

You can also query document by their publications dates.

Here is an example of a query for all documents of the type "blog-post" whose original publication date is in the month of May in the year 2016.

Copy
//To retreive the API object check how to query the API
api.query([
    Prismic.Predicates.at('document.type', 'blog-post'),
    Prismic.Predicates.month('document.first_publication_date', 'May'),
    Prismic.Predicates.year('document.first_publication_date', 2016)
]).then(function(blogPosts) {
    // blogPosts is the response object, blogPosts.results holds the documents
});