Plugin for jQuery that provides popup date and time pickers inspired by Google Calender
JavaScript HTML CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Build Status

What is it?

Calendrical is a plugin for jQuery that provides popup date and time pickers inspired by Google Calender.


As a global

Copy and include the JavaScript file jquery.calendrical.js, and the style sheet calendrical.css in your project.

Using npm/yarn

yarn add jquery-calendrical


You can add Calendrical date and time pickers to your existing text fields using the following functions:

  • .calendricalDate
  • .calendricalTime
  • .calendricalDateRange
  • .calendricalTimeRange
  • .calendricalDateTimeRange

See example.html for examples of how to use these functions.


All of the Calendrical functions can accept an options hash as a parameter.

Date options:

  • usa - Use USA-style middle endian dates (7/21/2010), instead of the default European-style little endian dates (21/7/2010).
  • iso - Use ISO-style dates (2010-07-21)
  • separator - Symbol to use between components of the date. Default: /

Time options:

Time values are parsed as an object with an hour and minute - example: {hour: 15, minute: 30}

  • isoTime - Use 24-hour clock (ISO 8601) instead of default 12 hour clock with am/pm.
  • meridiemUpperCase - Use upper case meridiem (AM/PM) instead of am/pm
  • defaultTime - Default time to scroll the dropdown time select box to, if the field doesn't already have a time value when it's shown
  • timeInterval - Interval in minutes between each option in a time picker. Default: 30
  • minTime - The earliest time selectable. This is also the base value when calculating increments, e.g. a start time of {hour: 9, minute: 15} with the default interval of 30 will give the options (9:15, 9:45, 10:15, ...)
  • maxTime - The latest time selectable. If this value does not fall on a valid interval, the last interval before this one will be the latest time selectable (i.e. {hour: 11, minute: 34} becomes 11:30)
  • positionInBody - Inserts element for calendar popups on the root body node, rather than next to the text fields. Set this to true if you're having issues with your popups being cut off by the overflow property of a parent element.