Date and Time Formatting"

From Documentation
Line 21: Line 21:
  
 
== Application-level Format ==
 
== Application-level Format ==
 +
 +
If you want to use the same format for all users, you could specify your implementation of <javadoc type="interface">org.zkoss.text.DateFormatInfo</javadoc> in the library property. For example,
 +
 +
<source lang="xml">
 +
<library-property>
 +
    <name>org.zkoss.web.preferred.dateFormatInfo</name>
 +
    <value>foo.MyDateFormatInfo</value>
 +
</library-property>
 +
</source>
 +
 +
where we assume the implementation is named <code>foo.MyDateFormatInfo</code>.
 +
 
== Per-user Format ==
 
== Per-user Format ==
 
== Per-component Format ==
 
== Per-component Format ==

Revision as of 06:43, 25 April 2011


Date and Time Formatting


Overview

By default, the format of date and time, especially the format of Datebox and Timebox, is determined by the JVM's default and the current locale.

In this section, we will discuss how to configure ZK to use the format other than the JVM. For example, you could configure ZK to use the preferred format based on user's preferences.

The Decision Sequence of Format

The format of date and time is decided in the following sequence.

  1. It checks if an attribute called org.zkoss.web.preferred.dateFormatInfo defined in the HTTP session (i.e., Session). If so, it will be used by assuming the value is an instance or a class of DateFormatInfo.
  2. It checks if an attribute called org.zkoss.web.preferred.dateFormatInfo defined in the servlet context (i.e., Application). If so, it will be used by assuming the value is an instance or a class of DateFormatInfo.
  3. It checks if a property called org.zkoss.web.preferred.dateFormatInfo defined in the library property (i.e., Library). If so, it will be used by assuming the value is a class of DateFormatInfo.
  4. If none of them is found, it uses the JVM's default based on the current locale

In other words, to configure ZK to use the format other than the JVM's default, you have to:

  1. Implements DateFormatInfo to provide the format you want
  2. Specify the class or an instance of it in the session's attribute or application's attribute depending on the requirement of your application.

Also notice that you could specify short, long and other standard styling in the format property of datebox and timebox, such that the corresponding format of the styling will be used instead of the default, meidum. For more information, please refer to the Per-component Format section.

Application-level Format

If you want to use the same format for all users, you could specify your implementation of DateFormatInfo in the library property. For example,

<library-property>
    <name>org.zkoss.web.preferred.dateFormatInfo</name>
    <value>foo.MyDateFormatInfo</value>
</library-property>

where we assume the implementation is named foo.MyDateFormatInfo.

Per-user Format

Per-component Format

Version History

Last Update : 2011/04/25


Version Date Content
5.0.7 April 2011 The per-session format of datebox/timebox was introduced. Prior to 5.0.7, the format depends only on locale.



Last Update : 2011/04/25

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.