PHP - Calendar, Datepicker Calendar

The calendar component written in php script. It contains 2 modes: normal display calendar and date picker. See the demo below to check whether your browser support this script or not.

Fixed Display Style

Date 1 :
  • Set default date to server date (Auto unset if date is disabled)
  • Set year navigate from 1890 to 2080
  • Allow date selectable from 1st Jan 1890 to 01 May 2045
  • Not allow to navigate other dates from above
  • Disable date of 10th, 13th, and 23th on each month
  • Start week on Monday
  • Show calendar weeks
  • Set/show tooltips
  • Set timezone to Australia/Melbourne


$myCalendar = new tc_calendar("date2");
$myCalendar->setDate(date('d'), date('m'), date('Y'));
$myCalendar->setYearInterval(1890, 2080);

$myCalendar->dateAllow('1890-01-01', '2045-05-01', false);

$myCalendar->setSpecificDate(array("2039-01-10", "2039-01-13", "2039-01-23"), 0, 'month');


$myCalendar->setToolTips(array("2013-07-02", "2013-07-15", "2013-07-25"), 'ŞŢĂÎÂ şţăîâ אי אפשר test!', '');
$myCalendar->setToolTips(array("2013-06-06", "2013-06-01", "2013-06-05"), 'אי אפשר לבחור תאריך זה', 'month');
$myCalendar->setToolTips(array("1969-07-06", "2040-07-01", "2013-06-05")
, 'Δεν επιτρέπετε η επιλογή αυτής της ημέρας', 'month');
$myCalendar->setToolTips(array("1969-07-06", "2040-07-01", "2013-06-05")
, 'الإصدار الخاص بي ليس لديها الدعم للعام 2038 وفيما بعد!', 'month');
$myCalendar->setToolTips(array("1969-07-06", "2040-07-01", "2013-06-05"), 'の間の日付を選択してください', 'month');
$myCalendar->setToolTips(array("1969-07-06", "2040-07-01", "2013-06-05"), '올바르지 않은 값입니다', 'month');
$myCalendar->setToolTips(array("2013-06-06", "2013-06-11", "2013-06-15"), 'और बाद के वर्षों का समर्थन नहीं है!', 'month');
$myCalendar->setToolTips(array("2013-07-06", "2013-01-01", "2013-12-25"), 'วันนี้ไม่ได้รับอนุญาตให้มีการเลือก', 'year');
$myCalendar->setToolTips(array("2013-07-06", "2013-07-15", "2013-07-25"), '请选择日期%s之前一个', '');

$myCalendar->setTimezone("Australia/Melbourne"); $myCalendar->writeScript();

DatePicker Style

Date 2 :
  • Default date to current server date (Auto unset if date is disabled)
  • Set year navigate from 1960 to 2015
  • Allow date selectable from 01 January 2010 to 01 March 2015
  • Allow to navigate other dates from above
  • Disable specific date 1, 13, and 25 of every month
  • Custom alert when calendar's value has been changed


$myCalendar = new tc_calendar("date1", true);
$myCalendar->setDate(01, 03, 1960);
$myCalendar->setYearInterval(1960, 2015);
$myCalendar->dateAllow('1960-01-01', '2015-03-01');
$myCalendar->setSpecificDate(array("2011-04-01", "2011-04-13", "2011-04-25"), 0, 'month');
?> <script language="javascript">
function myChanged(v){
alert("Hello, value has been changed : "+document.getElementById("date1").value+"["+v+"]");

DatePicker with no input box

Date 3 :
  • No default date
  • Set year navigate from 2000 to 2015
  • Allow date selectable from 13 May 2008 to 01 March 2015
  • Allow to navigate other dates from above
  • Date input box set to false
  • Set alignment left and bottom
  • Disable specific date 1, 4 April, and 25 December of every years
  • Disable specific date 10, 14 of every months
  • Disable 1 June 2011


$myCalendar = new tc_calendar("date5", true, false);
$myCalendar->setDate(date('d'), date('m'), date('Y'));
$myCalendar->setYearInterval(2000, 2015);
$myCalendar->dateAllow('2008-05-13', '2015-03-01');
$myCalendar->setDateFormat('j F Y');
$myCalendar->setAlignment('left', 'bottom');
$myCalendar->setSpecificDate(array("2011-04-01", "2011-04-04", "2011-12-25"), 0, 'year');
$myCalendar->setSpecificDate(array("2011-04-10", "2011-04-14"), 0, 'month');
$myCalendar->setSpecificDate(array("2011-06-01"), 0, '');

Date Pair Example



$date3_default = "2014-08-18";
$date4_default = "2014-08-24";

$myCalendar = new tc_calendar("date3", true, false);
$myCalendar->setDate(date('d', strtotime($date3_default)) , date('m', strtotime($date3_default)) , date('Y', strtotime($date3_default)));
$myCalendar->setYearInterval(1970, 2020);
$myCalendar->setAlignment('left', 'bottom');
$myCalendar->setDatePair('date3', 'date4', $date4_default);

$myCalendar = new tc_calendar("date4", true, false);
$myCalendar->setDate(date('d', strtotime($date4_default)) , date('m', strtotime($date4_default)) , date('Y', strtotime($date4_default)));
$myCalendar->setYearInterval(1970, 2020);
$myCalendar->setAlignment('left', 'bottom');
$myCalendar->setDatePair('date3', 'date4', $date3_default);

Example of submiting value: click here

Download zip file: (53.44 KB.)
Version 3.72 (25 July 2014)

What's new

Version 3.72

  • [Fixed] Tooltips are not display on Safari browser (windows) - thanks Larry

Version 3.71

  • [Fixed] Vulnerabilities update on REQUEST parameter - thanks Arvid V.
  • Minor bug fixed and adjustment

Version 3.70

  • [Added] setToolTips function to allow you to set tooltip on each date
  • [Added] setTimeZone function to allow you to set timezone to calendar

Version 3.69

  • [Added] Use php DateTime class to handle date and also support for year 2038 and later (limited to php version >= 5.3.0)
  • [Fixed] Check valid of Today date if it is in range of enabled date
  • Minor bug fixed and adjustment

Version 3.68

  • [Fixed] 1st and 31st (on each month) are always disabled when running with php4

Version 3.67

  • [Fixed] Javascript possible error on Date.parse
  • [Fixed] Add on-change javascript in dropdown datepicker mode

Version 3.66

  • [Fixed] json checking function produce error when the php does not support for json

Version 3.65

  • [Fixed] Date selected hilight error
  • [Added] Auto hide calendar and make it default property
  • [Added] Auto focus an overlapping calendar to the top

Version 3.64

  • [Fixed] Incorrect parameter submited on javascript that caused an invalid date returned

Version 3.63

  • [Changed] Make the DatePair function selectable on any dates. Date-from must be before Date-to, and on the other hand, otherwise it will be reset

Version 3.62

  • [Fixed] Error displaying date on Jan 2012 and some other months

Version 3.61

  • [Added] Display weeks
  • [Added] RTL supported
  • [Added] startDate function for selecting any days as start day of week
  • [Adjusted] Rearrange source code on calendar_form.php

Version 3.60

  • [Added] Add X as background of disabled days
  • [Fixed] 'Day' combobox contain no list dropdown when not call setDate() on initialization
  • [Fixed] Fixed display style still have the default value in case of the date is disabled.
  • [Fixed] 'Today' date color disappear when date is disabled.
  • [Fixed] Javascript error from IE compatible not support for JSON
  • [Adjusted] Change the color of today date to green with border

Version 3.59

  • Update to match the version with localization

Version 3.58

  • [Fixed] the value of calendar is not restored when using back button on browser

Version 3.57

  • [Fixed] update calendar.css display glitch

Version 3.56

  • [Fixed] error on checkSpecifyDate, calendar.js

Version 3.55

  • [Fixed] 'dateAllow' contains error on calendar_form.php

Version 3.54

  • [Update] 'setSpecificDate' to set on month, year, and no recursive simultaneuosly
  • [Added] 'setOnChange' to customize onChange event of calendar

Version 3.53

  • [Fixed] writeYear contains unused variable (error), sorry guys :(

Version 3.52

  • [Fixed] datepair error after cleaned up code (on version 3.50)

Version 3.51

  • [Added] check_json_encode and check_json_decode for the server that not support json

Version 3.50

  • [Added] setSpecificDate to enable or disable date specified
  • [Improved] Cleaning up and more validating source codes (thanks to Peter)

Version 3.41

  • [Fixed] calendar header - look tight
  • [Fixed] Using incorrect path on example file (index.php), forgot to add history logs on class file

Version 3.4

  • [Added] setAlignment
  • [Added] setDatePair

Version 3.3

  • [Fixed] Total number of days in datepicker mode on startup incorrectly appear (thanks to Francois du Toit, ciprianmp)

Version 3.2

  • [Fixed] Some confusion in date display when both dateAllow and setYearInterval are set in some cases
  • [Fixed] add 'zindex' property to tc_calendar, helps in overlapping component (ie6)
  • [Improved] Year navigate from newest to oldest

Version 3.1

  • [Added] disabledDay (thanks to Jim R.)
  • [Improved] Day style adjustable with css (.mon, .tue, .wed, .thu, .fri, .sat, .sun)

Version 3.0

  • [Fixed] day combobox not update (February case) when select date from calendar
  • [Fixed] auto resize not applied when calendar start in hide div mode (display: none;)
  • [Fixed] day combo box not update when selecting date < 10 (occured from v2.9)
  • [Fixed] (18 May 2010) glich on IE7 update on calendar_form.php and calendar.css
  • [Fixed] (22 May 2010) parseInt error on calendar.js function isDateAllow()

Version 2.9

  • [Improved] Auto adjust calendar size (width & height)
  • [Fixed] Valid day combo box when selecting month or year (input box mode)

Download tc_calendar with language pack (by Ciprian)


This calendar datepicker is totally free to use. You can use it in all of your projects without any costs.
How to setup:

Only 2 steps requires for setup and use this calendar component.

Put the javascript file(.js) in the head section or somewhere else but it should be include once in a page.

<script language="javascript" src="calendar.js"></script>

Create form element in the html and put the following code

<form action="somewhere.php" method="post">
//get class into the page
require_once('classes/tc_calendar.php'); //instantiate class and set properties $myCalendar = new tc_calendar("date1", true);
$myCalendar->setDate(1, 1, 2000);
//output the calendar
?> </form>

How to get the value?

To get the date selected in calendar by php after submit the form, simple write script as the following:

$theDate = isset($_REQUEST["date1"]) ? $_REQUEST["date1"] : "";


The above script should be on another file that html form point to. The parameter 'date1' is the object name that you set in the code at the time calendar construct. See further in Functions and Constructor below.

To get the date selected by javascript on the current page, write script as the following:

<form action="somewhere.php" method="post" name="form1">
//get class into the page
require_once('classes/tc_calendar.php'); //instantiate class and set properties $myCalendar = new tc_calendar("date1", true);
$myCalendar->setDate(1, 1, 2000);
//output the calendar
?> </form> //use javascript to get the value <script language="javascript"> <!-- function showDateSelected(){ alert("Date selected is "+document.form1.date1.value); } //--> </script> //create link to click and check calendar value <a href="javascript:showDateSelected();">Check calendar value</a>

Calendar Properties

rtl - specify the right-to-left direction of calendar

Ex. $myCalendar->rtl = true;

zindex - specify the zindex value to calendar

Ex. $myCalendar->zindex = 99;

Calendar Functions


tc_calendar (string bindObjectName)

tc_calendar (string bindObjectName, boolean date_picker)

tc_calendar (string bindObjectName, boolean date_picker, bool show_input)

date_picker default value is false.
show_input default value is true


autoSubmit (bool flag, string form_name, string target_url)

Specify the calendar to auto-submit the value. Default value of autosubmit is false

To set calendar auto submit, specify flag to true and you need to specify either form_name or target_url to make the calendar to perform autosubmit correctly

Ex 1. $myCalendar->autoSubmit(true, "myForm");
//assume that the calendar is in the form named 'myForm', then tell the calendar to auto submit the value (other values in myForm will be submitted together by html post method)

Ex 2. $myCalendar->autoSubmit(true, "", "anywhere.php");
//tell the calendar to submit the value to 'anywhere.php'. This method will submit only calendar value via html get method

dateAllow (date from, date to, bool navigate_not_allowed_date)

Specify date range allow to select. Other dates from input will be disabled. The parameter navigate_not_allowed_date will handle the user to navigate over the disable date, default is true (means allow)

Specify both date from and to will set range of date user can select.
Specify only date from or to will set range from/upto year set by setYearInterval method.

Ex 1. $myCalendar->dateAllow('2008-05-13', '2010-03-01', false); //allow user select date from 13 May 2008 to 1 Mar 2010
Ex 2. $myCalendar->dateAllow('2008-05-13', '', false); //allow user select date from 13 May 2008 upto whatever can navigate
Ex 3. $myCalendar->dateAllow('', '2010-03-01', false); //allow user select date from whatever can navigate upto 1 Mar 2010

disabledDay (string day)

Specify day column to be disabled. Possible day value: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Ex. $myCalendar->disabledDay('Sun'); //disable Sunday column

getDate ()

Get the calendar value in date format YYYY-MM-DD

Ex. $myCalendar->getDate(); //return 2009-06-19

setAlignment (string horizontal_align, string vertical_align)

Optional: Set the alignment of calendar datepicker with the calendar container. The value of horizontal alignment can be 'left' or 'right' (default) and the value of vertical alignment can be 'top' or 'bottom' (default).

Ex. $myCalendar->setAlignment('left', 'top');

setAutoHide (bool auto, int delay_time)

Optional: Set an auto hide of calendar when not active. The calendar has default value of auto hidden since version 3.65 with default delay time of 1000 (1 second)

Ex 1. $myCalendar->setAutoHide(true, 3000); //auto hide in 3 seconds
Ex 2. $myCalendar->setAutoHide(false);

setDate (int day, int month, int year)

Optional: Set default selected date to the value input. For month parameter: January=1 and December=12

Ex. $myCalendar->setDate(15, 6, 2005); //Set the date to 15 June 2005

setDateFormat (string format)

Optional: Set the format of date display when no input box. Apply with 'showInput' function

Ex. $myCalendar->setDateFormat('j F Y'); //date will display like '9 September 2009'

setDatePair (string calendar_name1, string calendar_name2, string default_pair_value)

Optional: Set a date pair link to calendar object. This function will work when 2 calendars are setup together.

Ex 1. $myCalendar->setDatePair('date1', 'date2'); //This means when the value of calendar 'date1' is set, the calendar 'date2' will not allow to select the date prior to 'date1'
Ex 2. $myCalendar->setDatePair('date1', 'date2', "2011-03-26"); //suppose you are setting this value on date1 object, '2011-03-26' will be assigned as default date of date2 and calculated

setIcon (string url)

Optional: Set icon in date picker mode. If the icon is not set the date picker will show text as link.

Ex. $myCalendar->setIcon("images/iconCalendar.gif");

setHeight (int height) - deprecated since v2.9 - auto sizing applied

Optional: Set height of calendar. Default value is 205 pixels

Ex. $myCalendar->setHeight(205);

setOnChange (string value)

Optional: Set the onchange javascript function to calendar

Ex. $myCalendar->setOnChange("javascriptFunctionName()");

setPath (string path)

Optional: Set the path to the 'calendar_form.php' if it is not in the same directory as your script. The path string is a relative path to the script file.

Ex. $myCalendar->setPath("folder1/");

setSpecificDate (array dates, int type, string recursive)

Optional: Set the specific to enable or disable.

dates: the array of date, and date should be in format YYYY-MM-DD
type: enable or disable the date specified. 0=disable, 1=enable
recursive: '' (blank)=no recursive, calendar will process only on exact date, 'month'=monthly recursive, or 'year'=yearly recursive

Ex 1. $myCalendar->setSpecificDate(array("2011-04-22"));
Ex 2. $myCalendar->setSpecificDate(array("2011-04-22"), 0, 'month'); //disable date 22 every month
Ex 3. $myCalendar->setSpecificDate(array("2011-04-22"), 0, 'year'); //disable 22 Apr on every year

setText (string text)

Optional: Set text to display. The text will show in date picker mode when the icon is not set.

Ex. $myCalendar->setText("Click Me");

setTimezone (string timezone)

Optional: Set timezone to calendar. The valid timezone string is as specified on

Ex $myCalendar->setTimezone("Europe/London");

setToolTips (array dates, string tooltip, string recursive)

Optional: Set the tooltip info to be displayed on certain dates, recursively or not.

dates: the array of dates, and date should be in format YYYY-MM-DD
tooltip: string/text to be displayed when mouse hover the info.gif icon in the top-right corner of each day
recursive: "" (blank)=no recursive, calendar will process only on exact date, "month"=monthly recursive, or "year"=yearly recursive
hint: the function can be called any number of times, like all 5 examples below, together; multi-tooltips will be displayed on multi-lines, in this main order: non-recurrent, monthly then yearly, and then in the order of calling the function.

Ex 1. $myCalendar->setToolTips(array("2013-07-06", "2013-07-15", "2013-07-25"), "Tooltip Test");
Ex 2. $myCalendar->setToolTips(array("2013-06-06", "2013-06-01", "2013-06-05"), "Monthly Tooltip", "month");
Ex 3. $myCalendar->setToolTips(array("2013-06-06", "2013-07-11", "2013-09-15"), "Second Monthly Event", "month");
Ex 4. $myCalendar->setToolTips(array("2013-06-06", "2013-01-01", "2013-12-25"), "Yearly Event", "year");
Ex 5. $myCalendar->setToolTips(array("2013-07-06", "2013-07-15", "2013-07-25"), "Second Tooltip test");

setWidth (int width) - deprecated since v2.9 - auto sizing applied

Optional: Set width of calendar. Default value is 150 pixels

Ex. $myCalendar->setWidth(150);

setYearInterval (int year_start, int year_end)

Optional: Set the year start and year end display on calendar combo box. Default value is +15 and -15 from current year (30 years)

Ex. $myCalendar->setYearInterval(1970, 2020);

showInput (bool flag)

Optional: Set the input box display on/off. If showInput set to false, the date will display in panel as example above 'DatePicker with no input box'. Default value is true

Ex. $myCalendar->showInput(false);

showWeeks (bool flag)

Optional: Display weeks on calendar upon setting. Default value is false.

Ex. $myCalendar->showWeeks(true);

startDate (bool date_number)

Optional: You can choose any day as a start day of week. The possible values are 0 (for Sunday) through 6 (for Saturday). Default value is 0 (Sunday)

Ex. $myCalendar->startDate(6); //start day of week is Sat.

startMonday (bool flag) - deprecated since v3.61 - use startDate instead

Optional: Set whether the calendar will be start on Sunday or Monday. Set flag to true means the calendar will display first date as Monday, otherwise false will display first date as Sunday. Default value is false.

Ex. $myCalendar->startMonday(true);


Write the output calendar to the screen



Visitor Review  Write a review
Search Review :

Ashik on 13 Aug 2014 13:59 reply

First of all thanks a lot for such a smart calender.
Now, how can I change the date forment when I inser the date in database. Like the default db input formet is "Y-m-d" but I want " j F, Y". I try to chage it but I could not. Would you please give me a solution.


LarryS on 13 Aug 2014 08:17 reply

Thanks!! The update you did works for Internet Explorer 11 and evidently also fixes Safari!

Is there an easy way to change the size of the font?

I probably missed in somewhere.


Larry S. on 12 Aug 2014 20:52 reply

Great script!

Seems to be broken with Internet Explorer 11. The drop down screen to select a month closes before you can click on a month. I am using the Date Pair version.

Thanks for any help.


teja on 07 Aug 2014 07:56 reply

Hi.I have used the code but am unable to get the calendar dates when I click the calendar icon


teja on 07 Aug 2014 07:35 reply

hi..I used the code and I am unable to get the calendar when I click on icon.can you please tell me the solution


ishani on 01 Aug 2014 11:22 reply

this are very gud examples of calendar. i am new php and doing a project in php. i want to set to calendar date picker . the 1st calendar picker should have the dates enabled from the server dates and the 2nd calendar should disable till the date choosen in 1st calendar
for ex:1st calendar date choosen is 1 aug 2014 then the 2nd calendar should have enabled dates from 2 aug 2014.
plz help..!!


Larry on 24 Jul 2014 19:54 reply

This is really good work!
The ToolTips do not show up on Safari browsers like on a Mac or iPhone.
Any ideas how to resolve?
Thank you!

TJ on 25 Jul 2014 06:33 reply

Hi Larry,
Thanks for your post. We have put an update on new version 3.72. Localization version will be come up later.

adrian on 22 Jul 2014 13:18 reply

Very interestig article Ciprian!
I have a problem when including the datepicker into my page and the prblem is that it brings a frame in the page. In tc_calendar.php I saw there is a frame when printing the calendar conteiner (line 334).
How can I get rid of that frame?

ciprianmp on 22 Jul 2014 16:45 reply

Thank you Adrian.
I think Tri has looked into the layout thing.
I am on vacation right now, so very limited access and time to even look into codes.
Tri, can you address this please?

PS: add an email when you post. It's private and notifies you of replies...

ciprianmp on 22 Jul 2014 16:46 reply

Btw, can you send us a link to see if it's smth abnormal there?

TJ on 24 Jul 2014 23:28 reply

Hi, I think I don't get the point. Could you provide a screen picture or test url?

Daniel G on 15 Jul 2014 12:33 reply

This seems like a great calendar but I have questions.

I would like the date to be written to an input box and in turn be able to choose between different drop down lists in the form.

What I am trying to do is setup an online date/time form where depending on what day is selected, the drop down list for times available for a business to be open is shown. For instance, some days, we are open from 11am till 9:30 pm and some noon till 9PM so depending on what day, i need the times available (in 15 minute intervals) to change. 11:00 AM 11:15 AM 11:30 AM ... etc. I

ciprianmp on 15 Jul 2014 14:27 reply

I think you can achive that through javascript, outside the class itself. Look at Date2 example and the use of setOnChange() function.
In the example the function shows an alert with some text and the current selected date. You can define that function to do what you want to obtain.
I think there is another example posted by Tri as a reply, I need to look for that using the search field here :)
ciprianmp on 15 Jul 2014 14:35 reply

Do a search for setonchange here on top of the forum, right corner. Read through, it might give you some more clues.

Ronald on 14 Jul 2014 16:24 reply

Hello, is there a way to mark days with a different colour as to indicate those days are special ? Idea is to have several dates in a MySQL database and display them as an indication those dates are registered in the database.


Adrian on 11 Jul 2014 04:57 reply


I was wondering how to change the value for the calendar to dd/mm/yyyy without having to hack the code.

Tried changing every instance of the date format from yyyy-mm-dd but I broke the script.

Please advise, thanks!

ciprianmp on 11 Jul 2014 09:27 reply

Adrian, it has been answered several times. Please use the search function next time... Thanks.
Check this out:

akram on 01 Jul 2014 03:55 reply

Why so many data POST here? how to POST just main data POST not all like this ?

ruj ::: 2014-12-22
ruj_dp ::: 1
ruj_year_start ::: 2000
ruj_year_end ::: 2014
ruj_da1 :::
ruj_da2 :::
ruj_sna :::
ruj_aut :::
ruj_frm :::
ruj_tar :::
ruj_inp :::
ruj_fmt ::: j F Y
ruj_dis :::
ruj_pr1 :::
ruj_pr2 :::
ruj_prv :::
ruj_pth ::: calendar/
ruj_spd ::: [[],[],[]]
ruj_spt ::: 0
ruj_och :::
ruj_str ::: 0
ruj_rtl ::: 0
ruj_wks :::
ruj_int ::: 1
ruj_hid ::: 1
ruj_hdt ::: 1000
ruj_hl ::: en_US
ruj_dig ::: 0
ruj_ttd ::: [[],[],[]]
ruj_ttt ::: %5B%5B%5D%2C%5B%5D%2C%5B%5D%5D

ciprianmp on 11 Jul 2014 09:29 reply

Those are defined constants passed on throughout the script in order to have it work. Why does it bother you so much?

Sardhar Mohamed M on 29 May 2014 04:01 reply

how to disable the selected date dynamically using mysql database in php


luis on 22 May 2014 10:56 reply

thanks a million


rak on 16 May 2014 07:30 reply

Very Good content

dd on 16 May 2014 07:31 reply


Luis on 14 May 2014 14:31 reply

First of all, thank you for the code.
But i have a little problem, why i get this symbols next to the calendar icon?

ciprianmp on 16 May 2014 14:02 reply

It might be the file encoding where you call the script. It should be urc-8 without bom. Hours might be Ansi or utf-8 with vom. Can we have a link to your page with calendar?
ciprianmp on 16 May 2014 14:04 reply

Read utf-8 not urc and bom not vom. Lol. My Android spellchecker is messing with me, sorry.

Edson on 02 May 2014 12:31 reply



Hus on 25 Apr 2014 12:32 reply

How can I allow days of month to be all of them reach 30 days ?


Marek on 23 Apr 2014 13:20 reply

Hi there
The calendar looks cool but it does not work on my server. I know that I have php enabled. When I point my browser on the included index.php file al I see is the link to the calendar site and 3 lines of text. The last one being "Date 1:". Any idea what I might be missing here?

ciprianmp on 23 Apr 2014 13:27 reply

Can we have a link?
If private, send me an email.
Marek on 23 Apr 2014 13:30 reply

Unfortunately my server is behind a firewall so it is not accessible from the outside. Would you be able to suggest what to look at/for?

krishna on 30 Mar 2014 02:32 reply

cool calender

I want to disable the all the days previous to current date. how can i do it.

help me ....thnaks for time

krishna on 30 Mar 2014 02:54 reply

i hv used this
$myCalendar->dateAllow(date('Y-m-d'), '2016-12-31' );
but it disables all selection process :/
the i click javascript say
the local host say : 0000:00:00
i hv used below code
<form name="form1" method="post" action="">
$myCalendar = new tc_calendar("date2");

$myCalendar->setDate(date('d'), date('m'), date('Y'));

$myCalendar->setYearInterval(2010, 2020);
//$myCalendar->dateAllow('2012-01-10', '2016-12-31', true);
$myCalendar->dateAllow(date('Y-m-d'), '2016-12-31' );

$myCalendar->autoSubmit(true, "form1");
$myCalendar->setToolTips(array("2013-12-25"), "Merry Chirstmas", "year");
$myCalendar->setToolTips(array("2013-01-01"), "New Year", "year");

<input type="button" name="button3" id="button3" value="Check the Date" onClick="javascript:alert(this.form.date2.value);">
<input type="button" name="button4" id="button4" value="Set Date to today" onClick="javascript:setCalendarValue1();">
<script type="text/javascript">
function setCalendarValue1(){
setValue('date2', '<?=date("Y-m-d");?>');
php calender date picker ...version 3.71

Michael Mason on 12 Apr 2014 18:01 reply

I use dthis Krishna:

$myCalendar->dateAllow(date('Y-m-d'), '2015-12-31');

Still having trouble with other things though. Always getting the error "Error! Calendar Value Cannot Be Set!"

Any suggestions guys...?

alkradev on 30 Jun 2014 15:08 reply

Don't complicate things.
It is an easy solution and to give it in an example:

$myCalendar->dateAllow(date("Y-m-d"), '2045-05-01', false);

date("Y-m-d") sets the current date and is used as the starting date on the calendar. Then you can expand it up to whatever you want (in this example up to year 2045, 1st of May).

Raymond Verbrugghe on 26 Mar 2014 04:49 reply

Is the 1970 problem solved in the localized version ? I am having a problem in accepting dates before 1 jan 1970 in a localizaed version (3.70).
Apart from this problem it seems to be a nice product.

ciprianmp on 26 Mar 2014 05:59 reply

Hi Raymond,
I just tested the published 3.70 on my server and, as I recalled, it works just fine with dates as early as from 1900.
Are you sure you have the latest official one? If so, then might be a limitation given by your server environment, which we thought we covered it all.
Is the current standard 3.71 handling those early dates on your server? Can you test please?
If it's only a v3.70loc limitation, then you'll have to wait a few more days/weeks until I will push the 3.71 upgrade into it. Make sure you like our Fb page so you can get the release announcement on time.
But if the issue is also present with 3.71std, we might need you to provide more info on your current server env (apache/php version, any zend engines on, safe mode status, cgi, etc).
Raymond on 26 Mar 2014 06:17 reply

Thx, this was a super fast reply.
I have followed your advice and re-downloaded the 3.70 and indeed it works fine.
The problem was not present in the 3.71 version which I tested before however I needed a Dutch translation and therefor downloaded the 3.70 localized version. So all is well now - probably my mistake?
ciprianmp on 26 Mar 2014 07:20 reply

I'm glad it works. Not your fault, I might have pushed the fix under the same version, after you got the buggy one. Not sure, long time ago ;)

PS: even when you post follow-ups here, keep put your email so you get notifications of replies.

martin on 24 Mar 2014 17:49 reply

first I want to thank you - this solution is the one fits me best.

I got some issues and maybe you can help me (as Iam newbie to programming).

I use "DatePicker with no input box" and want to know, why it is loading so long. It takes 15secs before i can click on icon and calendar opens.
Have you got any hit for this?

Is regarding "setSpecificDate" - I have dates "not available" in mysqlDB. So i created function that creates variable $result.
When you echo it you get:
"2014-03-20","2014-03-24" ...and so on. So it contains delimited and enclosed values.

but when I have this, it does not work - there is no date unavailable :(

$myCalendar->setSpecificDate(array($result), 0, ');

Can anyone see, where i did mistake?

Thank you very much.


zommit adel on 17 Mar 2014 12:34 reply

Not bad as a beginner (y)


lav on 11 Mar 2014 00:41 reply

hello! thank you for this! such wide variety for calendar. elegant design is awesome <3 haha. will be using precode of this for our thesis. thank you again!


Art Beveridge on 06 Mar 2014 13:02 reply

Great tool!

I have one small bug... when I use setDate to set the default date based upon a value from a data table, and that date happens to equal the dateAllow start date or end date, the setDate value is ignored. ANy idea what might cause that, and is there any way to fix it?


apl on 09 Feb 2014 08:15 reply

I like this a lot. thanks.

One question. How can I apply style to the date selection boxes?

At the moment, if I put the date picker within a div, the styling for the div seems to be ignored by the calendar


chin2 on 03 Feb 2014 22:02 reply

Thank you, i found this very useful.. once again thanks


alonso on 22 Jan 2014 03:27 reply

Great job guys,
I have a question , we got many calendars in many pages , but how can i configure just one page calendar and the same info appear in the others pages. thx


alonso on 21 Jan 2014 00:39 reply

Hola , gracias por la aplicacion muy buena ,
tengo una duda , tengo el calendario en varias paginas , pero quiero que los mismos datos de una pagiina se reflejen en todas las paginas sin necesidad de cambiar informacion en todas las paginas.


David on 10 Dec 2013 01:53 reply

This is excellent thanks

How would I rewrite $mydate as "Friday the 12th of December" or even DD-MMM-YYYY rather than YYYY-MM-DD

TJ on 11 Dec 2013 21:20 reply

You can try

$your_date = date('F d Y', strtotime($date_value));

check the date format here
Dave on 11 Dec 2013 21:32 reply

ahhh yes...(penny drops)

I was thinking I could do it in a procedure in MySQL too

Thanks buddy...I'm still finding my feet in PHP I appreciate the help

And thanks heaps for your calendar, very nice
See all reviews 1 2 3 4 5 6 7 8 9 10 Next»
Write a review
Your Message:
(Your email that entered here will not show anywhere on website and will use only reference when someone reply your post)
  I want to receive a copy of email on this post (your email is needed)

Search this site