Difference between revisions of "Manipulating Dates"
From SmartWiki
Line 25: | Line 25: | ||
'''Example:''' | '''Example:''' | ||
var newDate=ConvertDate(sdate,'@dateformat@'); | var newDate=ConvertDate(sdate,'@dateformat@'); | ||
− | |||
− | |||
− | |||
− | |||
Line 62: | Line 58: | ||
frm.enddate.value=ConvertDate(edate,"@dateformat@"); | frm.enddate.value=ConvertDate(edate,"@dateformat@"); | ||
</pre> | </pre> | ||
+ | |||
+ | |||
+ | ==Notes== | ||
+ | * When using [[JavaScript]] to populate a date it must be added to the field in the preferred date format of the current user, as the system will automatically convert it to yyyy-mm-dd when the page is saved. | ||
Revision as of 13:06, 16 August 2010
The following JavaScript functions are built-in to SmartSimple to assist with manipulation and calculations using dates:
ConvertDateStr
Takes a date that is in the users preferred display format and returns the date in the standard database format of yyyy-mm-dd.
Syntax:
- ConvertDateStr(date,'@dateformat@')
Where:
- date is the date you wish to change to the yyyy-mm-dd' format.
Example:
var newDate=ConvertDateStr(frm.startdate.value,'@dateformat@');
ConvertDate
Takes a date that is in the standard database format of yyyy-mm-dd and converts it to the preferred display format of the current user.
Syntax:
- ConvertDate(date,'@dateformat@')
Where:
- date is the date you wish to change to the users preferred display format.
Example:
var newDate=ConvertDate(sdate,'@dateformat@');
dateadd
Add the specified interval to a date
Syntax:
- dateadd(date,unit,interval)
Where:
- date is the date you wish to add to (or delete from) in format yyyy-mm-dd
- unit specifies what is being added:
- 'd' (days)
- 'm' (months)
- 'y' (years)
- interval is the number of days/months/years to be added.
Example:
var newDate=ConvertDate(sdate,'m',duration);
Example
The following example adds a specified number of months (saved in cf_123456) to the startdate, and saves it as the enddate.
var sdate=ConvertDateStr(frm.startdate.value,'@dateformat@'); var duration=parseInt(parseFloat(frm.cf_123456.value)); if(isNaN(duration)){ alert("Invalid Duration provided"); return; } var edate=dateadd(sdate,'m',duration); frm.enddate.value=ConvertDate(edate,"@dateformat@");
Notes
- When using JavaScript to populate a date it must be added to the field in the preferred date format of the current user, as the system will automatically convert it to yyyy-mm-dd when the page is saved.