mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-11-30 02:02:06 +01:00
SMACK-391 New enum to define date formats and profiles.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13429 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
parent
1d36ae8db4
commit
457959bc88
1 changed files with 45 additions and 0 deletions
45
source/org/jivesoftware/smack/util/DateFormatType.java
Normal file
45
source/org/jivesoftware/smack/util/DateFormatType.java
Normal file
|
@ -0,0 +1,45 @@
|
|||
package org.jivesoftware.smack.util;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
/**
|
||||
* Defines the various date and time profiles used in XMPP along with their associated formats.
|
||||
* @author Robin Collier
|
||||
*
|
||||
*/
|
||||
public enum DateFormatType
|
||||
{
|
||||
XEP_0082_DATE_PROFILE("yyyy-MM-dd"),
|
||||
XEP_0082_DATETIME_PROFILE("yyyy-MM-dd'T'HH:mm:ss'Z'"),
|
||||
XEP_0082_DATETIME_MILLIS_PROFILE("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"),
|
||||
XEP_0082_TIME_PROFILE("hh:mm:ss"),
|
||||
XEP_0082_TIME_ZONE_PROFILE("hh:mm:ss'Z'"),
|
||||
XEP_0082_TIME_MILLIS_PROFILE("hh:mm:ss.SSS"),
|
||||
XEP_0082_TIME_MILLIS_ZONE_PROFILE("hh:mm:ss.SSS'Z'"),
|
||||
XEP_0091_DATETIME("yyyyMMdd'T'HH:mm:ss");
|
||||
|
||||
private String formatString;
|
||||
|
||||
private DateFormatType(String dateFormat)
|
||||
{
|
||||
formatString = dateFormat;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the format string as defined in either XEP-0082 or XEP-0091.
|
||||
* @return The defined string format for the date.
|
||||
*/
|
||||
public String getFormatString()
|
||||
{
|
||||
return formatString;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a {@link SimpleDateFormat} object with the format defined by {@link #getFormatString()}.
|
||||
* @return A new date formatter.
|
||||
*/
|
||||
public SimpleDateFormat createFormatter()
|
||||
{
|
||||
return new SimpleDateFormat(getFormatString());
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue