| ## Licensed to the Apache Software Foundation (ASF) under one |
| ## or more contributor license agreements. See the NOTICE file |
| ## distributed with this work for additional information |
| ## regarding copyright ownership. The ASF licenses this file |
| ## to you under the Apache License, Version 2.0 (the |
| ## "License"); you may not use this file except in compliance |
| ## with the License. You may obtain a copy of the License at |
| ## |
| ## http://www.apache.org/licenses/LICENSE-2.0 |
| ## |
| ## Unless required by applicable law or agreed to in writing, |
| ## software distributed under the License is distributed on an |
| ## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ## KIND, either express or implied. See the License for the |
| ## specific language governing permissions and limitations |
| ## under the License. |
| #title( 'DateTool' ) |
| <p> |
| #set( $demo = $text.demo ) |
| $demo.thisPage.insert("#doclink( 'DateTool' true )") and its subclass, the |
| #doclink( 'ComparisonDateTool' true ). As the DateTool |
| is quite full-featured and provides many similar functions with varying and |
| strongly-typed options, not all functions are demonstrated below. See the javadoc |
| for a full listing of available functions. |
| </p> |
| |
| #demoTableStart() |
| |
| #set( $quote = '' ) |
| #set( $desc = 'Converts the specified object to a date and formats it according to the pattern or style returned by $date.format.' ) |
| #demo1( 'date' 'format' 4 $desc) |
| |
| #set( $desc = 'Converts the specified object to a date and formats it according to the specified date format.' ) |
| #demo2( 'date' 'format' 4 $desc ) |
| |
| #set( $desc = 'Returns the value of $date.date as a string formatted according to the specified date format.' ) |
| #demo1( 'date' 'get' 4 $desc ) |
| |
| #set( $desc = 'Returns a formatted string representing the date and/or time given by $date.date in the specified date and time styles.' ) |
| #demo2( 'date' 'get' 4 $desc ) |
| |
| #set( $desc = 'Returns the day (of the month) value of the date returned by $date.calendar' ) |
| #demo( 'date' 'day' $desc ) |
| |
| #set( $desc = 'Returns the day (of the month) value for the specified date.' ) |
| #demo1( 'date' 'getDay' 4 $desc ) |
| |
| #set( $desc = 'Returns the month value of the date returned by $date.calendar.' ) |
| #demo( 'date' 'month' $desc ) |
| |
| #set( $desc = 'Returns the month value of the specified date.' ) |
| #demo1( 'date' 'getMonth' 4 $desc ) |
| |
| #set( $desc = 'Returns the year value of the date returned by $date.calendar.' ) |
| #demo( 'date' 'year' $desc ) |
| |
| #set( $desc = 'Returns the year value of the specified date.' ) |
| #demo1( 'date' 'getYear' 4 $desc ) |
| |
| #set( $desc = 'Return the specified value of the date returned by $date.calendar or null if the field is invalid.' ) |
| #demo1( 'date' 'getValue' 4 $desc ) |
| |
| #set( $desc = 'Returns the specified value of the specified date, or null if the field or date is invalid.' ) |
| #demo2( 'date' 'getValue' 4 $desc ) |
| |
| #set( $desc = 'Returns a Date derived from the result of $date.calendar' ) |
| #demo( 'date' 'date' $desc ) |
| |
| #set( $desc = 'Return the pattern or style to be used for formatting dates when none is specified.' ) |
| #demo( 'date' 'format' $desc ) |
| |
| #set( $desc = 'This returns the default Locale configured for this instance.' ) |
| #demo( 'date' 'locale' $desc ) |
| |
| #set( $desc = 'This returns the id of the default TimeZone configured for this instance.' ) |
| #demo( 'date' 'timeZone.ID' $desc ) |
| |
| #set( $desc = 'Gets the Date at the time this page was rendered for the system running this application.' ) |
| #demo( 'date' 'systemDate' $desc ) |
| |
| #set( $desc = 'Converts an object to an instance of Calendar using the locale returned by $date.locale if necessary.' ) |
| #demo1( 'date' 'toCalendar' 4 $desc ) |
| |
| #set( $desc = 'Converts an object to an instance of Date using the format returned by $date.format,the Locale returned by $date.locale, and the TimeZone returned by $date.timeZone if the object is not already an instance of Date, Calendar, or Long.' ) |
| #demo1( 'date' 'toDate' 4 $desc ) |
| |
| #set( $desc = 'Converts an object to an instance of Date using the specified format,the Locale returned by $date.locale, and the TimeZone returned by $date.timeZone if the object is not already an instance of Date, Calendar, or Long.' ) |
| #demo2( 'date' 'toDate' 4 $desc ) |
| |
| #demoCustom( 'date' ) |
| </table> |
| <br> |
| <p> |
| Here are a few demos of the functions provided by the |
| #doclink( 'ComparisonDateTool' true ) class that are not in the standard |
| DateTool. |
| </p> |
| |
| #demoTableStart() |
| |
| #set( $desc = "This returns a #doclink( 'ComparisonDateTool.Comparison' true ) between the result of ${esc.d}date.calendar and the specified date. The default rendering of that Comparison will be the largest unit difference between the dates followed by a description of their relative position." ) |
| #demo1( 'date' 'whenIs' 6 $desc ) |
| |
| #set( $desc = "This returns a #doclink( 'ComparisonDateTool.Comparison' true ) between the second specified date and the first specified date. The default rendering of that Comparison will be the largest unit difference between the dates followed by a description of their relative position." ) |
| #demo2( 'date' 'whenIs' 6 $desc ) |
| |
| #set( $desc = "This returns a #doclink( 'ComparisonDateTool.Comparison' true ) between the second specified date and the first specified date. The default rendering of that Comparison will be the largest unit difference between the dates." ) |
| #demo2( 'date' 'difference' 6 $desc ) |
| |
| #demoCustom( "date.whenIs('2005-07-04').depth(3)" ) |
| </table> |
| |
| <div align="center"> |
| <a name="fullDemo"><h3>$demo.mainExampleHeader</h3></a> |
| <form method="post" action="$link.self.anchor('fullDemo')"> |
| <textarea name="demo" rows="16" cols="65">## |
| #if( $params.demo )## |
| $params.demo## |
| #else## |
| ${esc.h}${esc.h} Examples of formatting the "current" date: |
| ${esc.d}date |
| ${esc.d}date.long |
| ${esc.d}date.medium_time |
| ${esc.d}date.full_date |
| ${esc.d}date.yyyy |
| ${esc.d}date.get('default','short') |
| ${esc.d}date.get('yyyy-M-d H:m:s') |
| |
| ${esc.h}${esc.h} Examples of comparing dates: |
| ${esc.d}date.whenIs('2005-07-04') |
| ${esc.d}date.whenIs('2005-07-04').full |
| ${esc.d}date.whenIs('2005-02-15').days |
| ${esc.d}date.whenIs(${esc.d}date) |
| ${esc.d}date.whenIs('2005-07-04', '2005-07-04') |
| ${esc.d}date.difference('2005-07-04', '2005-07-04') |
| ${esc.d}date.difference('2005-07-04', '2007-02-15').abbr## |
| #end## |
| </textarea> |
| <br> |
| <input type="submit" value="$demo.try"> |
| #if( $params.layout ) |
| <input type="hidden" name="layout" value="$params.layout"> |
| #end |
| </form> |
| |
| #if( $params.demo ) |
| $demo.mainResultsIntro: |
| <pre> |
| $render.eval($params.demo) |
| </pre> |
| #end |
| </div> |