Class Format

java.lang.Object
org.apache.velocity.tools.generic.SafeConfig
org.apache.velocity.tools.generic.LocaleConfig
org.apache.velocity.tools.generic.FormatConfig
org.apache.velocity.tools.generic.DateTool
com.easydesk.tools.Format
All Implemented Interfaces:
Serializable

public class Format extends org.apache.velocity.tools.generic.DateTool
Takes a date in any format and converts it to the desired format TODO : remove DateTool dependency TODO : remove DateTime
Author:
조 영 호
See Also:
  • Field Details

    • QUARTLY

      public static final int QUARTLY
      Quertly Constant
      See Also:
    • TWENTY_FOUR_HOURS

      public static final long TWENTY_FOUR_HOURS
      24시간
      See Also:
    • MILLIS_PER_APPR_MONTH

      public static final long MILLIS_PER_APPR_MONTH
      근사 1 달 *
    • MILLIS_PER_APPR_QUART

      public static final long MILLIS_PER_APPR_QUART
      근사 3 달 *
    • MILLIS_PER_APPR_YEAR

      public static final long MILLIS_PER_APPR_YEAR
      근사 1 년 *
      See Also:
    • MILLIS_PER_APPR_3YEAR

      public static final long MILLIS_PER_APPR_3YEAR
      근사 3 년 *
      See Also:
    • NOW_MARK

      public static final String NOW_MARK
      입력 DateAttributeValue 값에 설정이 되면 현재시간으로 설정하는 key
      See Also:
    • ISO_DATE_PATTERN

      public static final String ISO_DATE_PATTERN
      The ISO date format for data attribute value display
      See Also:
    • SYSTEM_ISO_DATE_PATTERN

      public static final Pattern SYSTEM_ISO_DATE_PATTERN
      System Date Pattern
    • ISO_DATETIME_PATTERN

      public static final String ISO_DATETIME_PATTERN
      The ISO date/time format that we accept when users enter/modify data and system data
      See Also:
    • ISO_COMBINED_DATETIME_DISPLAY_PATTERN

      public static final String ISO_COMBINED_DATETIME_DISPLAY_PATTERN
      Full Combined DateTime format
      See Also:
    • ISO_COMBINED_DATETIME_PATTERN

      public static final String ISO_COMBINED_DATETIME_PATTERN
      Full Combined DateTime format
      See Also:
    • ISO_DATETIME_DISPLAY_PATTERN

      public static final String ISO_DATETIME_DISPLAY_PATTERN
      human friendly patten with full date time for display purpose
      See Also:
    • LUCENE_DATETIME_PATTERN

      public static final String LUCENE_DATETIME_PATTERN
      See Also:
    • ISO_SHORT_TIME_PATTERN

      public static final String ISO_SHORT_TIME_PATTERN
      The time format for data attribute value display
      See Also:
    • CALENDAR_DATE_PATTERN

      public static final String CALENDAR_DATE_PATTERN
      DOCUMENT ME!
      See Also:
    • DATE_FORMAT

      public static final String DATE_FORMAT
      The default date format which we'll try to parse with if a format is not specified. 또한 item attribute value 의 date attribute value format 이다. 모든 date attribute value 값은 Locale 정보를 가지고 database 에 저장된다. display 시 항상 formater 의 정보를 이용하여 reformat 하여야 한다. 왜냐하면 미국에서 등록한 정보를 미국에서 볼때, 한국에서 볼때 date 를 변환하여야 한다
      See Also:
    • SYSTEM_DATETIME_FORMAT

      public final String SYSTEM_DATETIME_FORMAT
      Item 을 저장할 때 사용하는 DATETIME format "jettiger.datetime.format" 를 key 로 properties file 에서 설정가능 default 는 ISO_DATETIME_PATTERN
      See Also:
    • DATETIME_FORMATS

      public final String[] DATETIME_FORMATS
      입력 Format 들의 종류
    • DEFAULT_LOCALE

      protected Locale DEFAULT_LOCALE
      The Locale to be used, if the Resource could not be found in one of the Locales specified in the Browser's language preferences.
  • Constructor Details

    • Format

      public Format()
      Constructor does initialization stuff
  • Method Details

    • init

      public void init(Object obj)
      DOCUMENT ME!
      Parameters:
      obj - DOCUMENT ME!
    • refresh

      public void refresh()
      DOCUMENT ME!
    • getDefaultLocale

      public Locale getDefaultLocale()
      DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • getFormat

      public String getFormat()
      System Default Format Default is "yyyy-MM-dd HH:mm", 변경을 원하면 "jettiger.datetime.format" key 로 Configuration 에서 변경
      Overrides:
      getFormat in class org.apache.velocity.tools.generic.FormatConfig
    • format

      public String format(SimpleDateFormat format, Date date) throws ParseException
      Formats the date according to the passed in SimpleDateFormat This is generally used with SRT.getDateFormat() and in the templates it looks something like this: $format.getDate($jettigerR.DateFormat, $item.CreatedDate)
      Throws:
      ParseException
    • format

      public String format(String format, long date) throws ParseException
      Parameters:
      format - DOCUMENT ME!
      date - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
      Throws:
      ParseException - DOCUMENT ME!
    • formatHttpDate

      public static String formatHttpDate(Date date)
      Formats a java Date according to rfc 1123, the rfc standard for dates in http.
      Parameters:
      date - The Date to format
      Returns:
      A String represeentation of the date
    • formatCalendarDate

      public String formatCalendarDate(Long time)
      yyyyMMddTHHmmssZ
    • formatCalendarDate

      public String formatCalendarDate(Date date)
      yyyyMMddTHHmmssZ
      Parameters:
      date -
    • formatCalendarDate

      public String formatCalendarDate(Date date, boolean dateOnly)
      yyyyMMddTHHmmssZ
      Parameters:
      date -
      dateOnly -
    • getInfoDate

      public final String getInfoDate(String format, Date date) throws Exception
      생성한 날을 구한다. 생성시각이 오늘이면 HH:mm:ss 의 형태로 , 오늘 이전이면 주어진 format 형태의 날짜를 구한다.
      Parameters:
      format - String
      date - Date
      Returns:
      String
      Throws:
      Exception
    • toDateFromAttributeValue

      public Date toDateFromAttributeValue(String timestamp)
      JetTigerConstants.DATE_FORMAT 을 먼저 처리한다. toDate 는 JetTigerConstants.DATE_FORMAT 를 세번째에 처리한다.
      Parameters:
      timestamp -
      Returns:
      date
    • toDate

      public Date toDate(String timestamp)
      먼저 timezone 이 있으면 처리한다. 없으면 JetTigerConstants.SYSTEM_DATETIME_FORMAT JetTigerConstants.DATE_FORMAT, JetTigerConstants.ISO_DATE_PATTERN, JetTigerConstants.LUCENE_DATETIME_PATTERN 의 순서로 처리한다.
      Parameters:
      timestamp -
      Returns:
      date
    • toDate

      public Date toDate(String timestamp, Locale locale)
      먼저 timezone 이 있으면 처리한다. 없으면 JetTigerConstants.SYSTEM_DATETIME_FORMAT JetTigerConstants.DATE_FORMAT, JetTigerConstants.ISO_DATE_PATTERN, JetTigerConstants.LUCENE_DATETIME_PATTERN 의 순서로 처리한다.
      Parameters:
      timestamp -
      locale -
      Returns:
      date
    • toDate

      public Date toDate(String timestamp, Locale locale, TimeZone zone)
      먼저 timezone 이 있으면 처리한다. 없으면 JetTigerConstants.SYSTEM_DATETIME_FORMAT JetTigerConstants.DATE_FORMAT, JetTigerConstants.ISO_DATE_PATTERN, JetTigerConstants.LUCENE_DATETIME_PATTERN 의 순서로 처리한다.
      Parameters:
      timestamp -
      locale -
      zone -
      Returns:
      date
    • getNowAsShort

      public String getNowAsShort()
      mainly for email subject 시간 표기
    • getNow

      public String getNow() throws ParseException
      JetTigerConstants.SYSTEM_DATETIME_FORMAT 에 맞추어 지금을 구한다.
      Throws:
      ParseException
    • getNow

      public String getNow(SimpleDateFormat format) throws ParseException
      Formats the current date according to the passed in format Uses SimpleDateFormat to do its magic.
      Throws:
      ParseException
    • getNow

      public String getNow(String format) throws ParseException
      Formats the current date according to the passed in format Uses SimpleDateFormat to do its magic.
      Throws:
      ParseException
    • getNow

      public String getNow(String format, Locale locale) throws ParseException
      Formats the current date according to the passed in format Uses SimpleDateFormat to do its magic.
      Throws:
      ParseException
    • getDays

      public int getDays(Date startDate, Date endDate)
      두 Date 간의 날짜를 구한다. 단순히 24 시간으로 나눈 작업임으로 date 안에 시간이 들어 있을 경우 날짜 계산이 틀릴수 있다.
      Parameters:
      startDate -
      endDate -
    • getMidNight

      public final Date getMidNight()
      오늘 새벽 0시 를 가지고 온다
      Returns:
      Date
    • getMidNight

      public final Date getMidNight(Date date)
      0시 를 가지고 온다
      Returns:
      Date
    • getMonthStartDate

      public final Date getMonthStartDate()
      이번달 시작일 0시 를 가지고 온다
      Returns:
      Date
    • getMonthStartDate

      public final Date getMonthStartDate(Date date)
      달 시작일 0시 를 가지고 온다
      Returns:
      Date
    • oneYearLater

      public String oneYearLater() throws ParseException
      JetTigerConstants.SYSTEM_DATETIME_FORMAT 에 맞추어 일년뒤
      Throws:
      ParseException
    • oneMonthLater

      public String oneMonthLater() throws ParseException
      JetTigerConstants.SYSTEM_DATETIME_FORMAT 에 맞추어 한달뒤
      Throws:
      ParseException
    • oneWeekLater

      public String oneWeekLater() throws ParseException
      JetTigerConstants.SYSTEM_DATETIME_FORMAT 에 맞추어 일주일뒤
      Throws:
      ParseException
    • laterDate

      public Date laterDate(Date date, int year, int month, int day)
      DOCUMENT ME!
      Parameters:
      date - DOCUMENT ME!
      year - DOCUMENT ME!
      month - DOCUMENT ME!
      day - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • laterDate

      public Date laterDate(int year, int month, int day)
      DOCUMENT ME!
      Parameters:
      year - DOCUMENT ME!
      month - DOCUMENT ME!
      day - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • laterDate

      public Date laterDate(Date date, int delay)
      Parameters:
      date -
      delay - second
    • oneHourLater

      public Date oneHourLater() throws ParseException
      DOCUMENT ME!
      Returns:
      DOCUMENT ME!
      Throws:
      ParseException - DOCUMENT ME!
    • later

      public String later(int year, int month, int day)
      Returns:
      JetTigerConstants.SYSTEM_DATETIME_FORMAT String
    • getDDay

      public int getDDay(String date)
      DOCUMENT ME!
      Parameters:
      date - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • reFormat

      public static String reFormat(String string)
      special method yyyyMMddHHmm 을 yyyy-MM-dd HH:mm 으로 변환
    • reFormatDateOnly

      public static String reFormatDateOnly(String string)
      special method yyyyMMddHHmm 을 yyyy-MM-dd으로 변환
    • getSafeDate

      public String getSafeDate(String string)
      System Iso Date format 을 찾는다.
      Parameters:
      string -
      Returns:
      yyyy-MM-dd formatted string
    • dateToString

      public String dateToString(Date date)
      Deprecated.
      use LuceneUtils.dateToString
      yyyyMMddHHmmSSS 으로
      Returns:
      search formatted String
    • getPassedTimeAsString

      public LocalizableMessage getPassedTimeAsString(Date date)
      현재시간에서 차이를 구한다.
      Parameters:
      date -
    • getPassedTimeAsString

      public LocalizableMessage getPassedTimeAsString(Date date, Date reference)
      현재시간에서 차이를 구한다.
      Parameters:
      date -
      reference -
    • getRange

      public Date[] getRange(TimeScope timeScope)
      Deprecated.
      use timeScope.getRange() method directly
      Parameters:
      timeScope - daily, weekly, monthly ...
      Returns:
      Date array [ min date, max date ]
    • getRange

      public Date[] getRange(TimeScope timeScope, Date date, boolean includeOffset)
      Deprecated.
      use timeScope.getRange() method directly
      Parameters:
      timeScope - daily, weekly, monthly ...
      date -
      includeOffset - Monthly 인 경우 offset 을 포함하면 6주 를 처리
      Returns:
      Date array [ min date, max date ]
    • getRangeAsString

      public String getRangeAsString(TimeScope timeScope, boolean includeOffset)
      Parameters:
      timeScope - daily, weekly, monthly ...
      includeOffset -
      Returns:
      range String as [min max) format
      See Also:
    • getRangeAsString

      public String getRangeAsString(TimeScope timeScope, Date date, boolean includeOffset)
      DOCUMENT ME!
      Parameters:
      timeScope - DOCUMENT ME!
      date - DOCUMENT ME!
      includeOffset - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • getMonthCountInARange

      public int getMonthCountInARange(Date startDate, Date endDate)
      두 시간간의 diff month 값으로 구한다.
      Parameters:
      startDate -
      endDate -
    • truncate

      public Date truncate(Object obj, int field)
      Parameters:
      obj - calendar or date
      field -
    • add

      public Date add(Date date, int field, int amount)
      Parameters:
      date -
      field -
      amount -