Click here to Skip to main content
13,350,822 members (64,690 online)
Click here to Skip to main content
Add your own
alternative version


46 bookmarked
Posted 29 Jan 2007

Persian Calendar and Date Picker for Web Applications (JavaScript)

, 27 Nov 2007
Rate this:
Please Sign up or sign in to vote.
A library to work with "Persian Calendar", "Hijri Calendar", "Jalali Calendar", and "Gregorian Calendar" with WebForms GUI controls designed for Persian (Farsi) or Arabic language applications in mind, but usable in any web application that makes use of a calendar.

Sample Image - Persian_Date_Picker.jpg


The Persian Calendar is used in most countries where Persian is spoken, although some regions use different month names. The Persian calendar is the official calendar of Iran and Afghanistan, and is one of the alternative calendars in regions such as Kazakhstan and Tajikistan. The Persian calendar is based on a solar year, and is approximately 365 days long. A year cycles through four seasons, and a new year begins when the sun appears to cross the equator from the southern hemisphere to the northern hemisphere as viewed from the center of the Earth. The new year marks the first day of the month of Farvardin, which is the first day of spring in the northern hemisphere. Each of the first six months in the Persian calendar has 31 days, each of the next five months has 30 days, and the last month has 29 days in a common year and 30 days in a leap year. A leap year is a year that, when divided by 33, has a remainder of 1, 5, 9, 13, 17, 22, 26, or 30. For example, the year 1370 is a leap year because dividing it by 33 yields a remainder of 17. There are approximately 8 leap years in every 33-year cycle.

Using the code

This example demonstrates how to use the Persian Calendar. You should add the required references to the head section of your page:

<script type="text/javascript" language="JavaScript" src="JScripts/amin.js">
<script type="text/javascript" language="JavaScript" src="JScripts/calendar.js">
<link rel="stylesheet" type="text/css" href="CSS/calendar.css">

And call the 'displayDatePicker' function where you want the calendar to appear:

<form style="text-align:center ">
  <input name="AnotherDate">
  <input value="select" onclick="displayDatePicker('AnotherDate', this);" type="button">


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Amin Habibi S.
Web Developer
Iran (Islamic Republic of) Iran (Islamic Republic of)
I was born in Gonabad (1984).
I spent there my whole life until I was accepted in national university entrance exam. Then I migrated to Tehran.
Now I live in Tehran

You can see my CV at:

You may also be interested in...


Comments and Discussions

Questionthanks Pin
computec_teh2-Jul-11 1:15
membercomputec_teh2-Jul-11 1:15 
Generalthx Pin
nasrin647-Jun-11 21:14
membernasrin647-Jun-11 21:14 
GeneralMy vote of 5 Pin
Mohammad Dayyan5-Jun-11 5:14
memberMohammad Dayyan5-Jun-11 5:14 
Generaljsf Pin
Morteza Davoodi1-Jun-11 2:17
memberMorteza Davoodi1-Jun-11 2:17 
GeneralMy vote of 5 Pin
Shahin Khorshidnia3-Apr-11 19:36
memberShahin Khorshidnia3-Apr-11 19:36 
GeneralPersianCalendar conflict Pin
M.M.Rezaee23-Sep-10 11:01
memberM.M.Rezaee23-Sep-10 11:01 
GeneralMy vote of 5 Pin
gh_shahabi8-Aug-10 4:06
membergh_shahabi8-Aug-10 4:06 
GeneralpersianCanelndar Pin
camelia11125-Jul-10 1:21
membercamelia11125-Jul-10 1:21 
GeneralNice work. Pin
Reza Jahanbakhshi21-Apr-10 19:31
memberReza Jahanbakhshi21-Apr-10 19:31 
Generalسلام Pin
ali_mahdi29-Sep-09 6:43
memberali_mahdi29-Sep-09 6:43 
GeneralHi Pin
ali_mahdi29-Sep-09 6:38
memberali_mahdi29-Sep-09 6:38 
QuestionHow can i prevent user to modify the choosen date from date picker? Pin
honey.hv13-Jul-09 3:13
memberhoney.hv13-Jul-09 3:13 
GeneralGreat work but bad js code Pin
arash alavi20-May-09 22:25
memberarash alavi20-May-09 22:25 
GeneralThank you Pin
Jinousa7-Mar-09 4:38
memberJinousa7-Mar-09 4:38 
Generalabout Hijri Calender Pin
ibless26-Aug-08 6:09
memberibless26-Aug-08 6:09 
Generaltanks a lot Pin
saeiddb3-Aug-08 18:55
membersaeiddb3-Aug-08 18:55 
GeneralThanks Pin
shahrzad khorrami12-May-08 1:43
membershahrzad khorrami12-May-08 1:43 
QuestionBUG!!!????!!!! Pin
barbod_blue27-Nov-07 0:33
memberbarbod_blue27-Nov-07 0:33 
QuestionLeap year calculation algorithm Pin
Sasanj4-Nov-07 3:45
memberSasanj4-Nov-07 3:45 
NewsUsing this calendar in ASP.NET Pin
Vahid_Nasiri16-Oct-07 21:24
memberVahid_Nasiri16-Oct-07 21:24 
GeneralRe: Using this calendar in ASP.NET Pin
Vahid_Nasiri8-Feb-08 20:05
memberVahid_Nasiri8-Feb-08 20:05 
GeneralThank You From Iranian Programmer Pin
hooshang Karami1-Sep-07 20:32
memberhooshang Karami1-Sep-07 20:32 
Questionthank u:-) Pin
znarges8027-Aug-07 3:28
memberznarges8027-Aug-07 3:28 
GeneralGregorian Calendar Pin
minoosh13-May-07 0:50
memberminoosh13-May-07 0:50 
GeneralRe: Gregorian Calendar Pin
Amin Habibi S.13-May-07 2:16
memberAmin Habibi S.13-May-07 2:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.180111.1 | Last Updated 28 Nov 2007
Article Copyright 2007 by Amin Habibi S.
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid