Difference between revisions of "Manipulating Dates"

From SmartWiki
Jump to: navigation, search
(Created page with 'The following JavaScript functions are built-in to SmartSimple to assist with manipulation and calculations using dates: ==ConvertDateStr== '''Syntax:'''<br> :<font size="3"…')
 
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The following [[JavaScript]] functions are built-in to SmartSimple to assist with manipulation and calculations using dates:
+
{{JavaScript Syntax}}
 +
The following [[JavaScript]] functions are built in to SmartSimple to assist when working with and performing calculations using dates:
  
 
==ConvertDateStr==
 
==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:'''<br>
 
'''Syntax:'''<br>
:<font size="3">'''ConvertDateStr(date,'@dateformat@')'''</font>
+
:<font size="3">'''ConvertDateStr(''date'','@dateformat@')'''</font>
 +
 
 +
'''Where:'''
 +
* ''date'' is the date you wish to change to the ''yyyy-mm-dd' format.
  
 
'''Example:'''
 
'''Example:'''
  ConvertDateStr(frm.startdate.value,'@dateformat@');
+
  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:'''<br>
 +
:<font size="3">'''ConvertDate(''date'','@dateformat@')'''</font>
 +
 
 +
'''Where:'''
 +
* ''date'' is the date you wish to change to the users preferred display format.
 +
 
 +
'''Example:'''
 +
var newDate=ConvertDate(sdate,'@dateformat@');
 +
 
 +
 
 +
==ssConvertDate==
 +
Takes a date in any date format and converts it to any other date format.
 +
 
 +
'''Syntax:'''<br>
 +
:<font size="3">'''ssConvertDate(''date'','fromdateformat','todateformat')'''</font>
 +
 
 +
'''Where:'''
 +
* ''date'' is the date you wish to change to the users preferred display format.
 +
* ''fromdateformat'' is the format of the date you are providing
 +
* ''todateformat'' is the format you want the resulting date to use.
 +
 
 +
'''Example:'''
 +
var newDate=ssConvertDate(sdate,'yyyy-mm-dd','dd/mm/yyyy');
 +
or
 +
var newDate=ssConvertDate(sdate,'mm/dd/yyyy','dd-mm-yyyy');
 +
 
 +
 
 +
==dateadd==
 +
Add the specified interval to a date
 +
 
 +
'''Syntax:'''<br>
 +
:<font size="3">'''dateadd(''date'',''unit'',''interval'')'''</font>
 +
 
 +
'''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)
 +
::* 'yyyy' (years)
 +
* ''interval'' is the number of days/months/years to be added.
 +
 
 +
'''Example:'''
 +
var newDate=dateadd(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.
 +
 
 +
<pre>
 +
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=ssConvertDate(edate,"@dateformat@");
 +
</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.
  
 +
* To change the display format of dates displayed on the page see [[sscalculation]]
  
  
 +
==See Also==
 +
* [[busdateadd]]
 +
* [[isHoliday]]
 +
* [[Custom Defined Holidays]]
 +
* [[Sscalculation]]
 +
* [[Template_/_Type_Formula#Counting_and_Adding_Business_Days|Using Template Formulas to Count and Add Business Days]]
  
  
 
[[Category:JavaScript]]
 
[[Category:JavaScript]]
 +
[[Category:validate.js]][[Category:Date Formats]]

Latest revision as of 10:13, 4 April 2014

This feature uses JavaScript syntax
Text code javascript.gif

The following JavaScript functions are built in to SmartSimple to assist when working with and performing 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@');


ssConvertDate

Takes a date in any date format and converts it to any other date format.

Syntax:

ssConvertDate(date,'fromdateformat','todateformat')

Where:

  • date is the date you wish to change to the users preferred display format.
  • fromdateformat is the format of the date you are providing
  • todateformat is the format you want the resulting date to use.

Example:

var newDate=ssConvertDate(sdate,'yyyy-mm-dd','dd/mm/yyyy');

or

var newDate=ssConvertDate(sdate,'mm/dd/yyyy','dd-mm-yyyy');


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)
  • 'yyyy' (years)
  • interval is the number of days/months/years to be added.

Example:

var newDate=dateadd(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=ssConvertDate(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.
  • To change the display format of dates displayed on the page see sscalculation


See Also