⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dateformatmanager.java

📁 log4j的源码
💻 JAVA
字号:
/* * Copyright 1999-2005 The Apache Software Foundation. *  * Licensed 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. */package org.apache.log4j.lf5.util;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Locale;import java.util.TimeZone;/** * Date format manager. * Utility class to help manage consistent date formatting and parsing. * It may be advantageous to have multiple DateFormatManagers per * application.  For example, one for handling the output (formatting) of * dates, and another one for handling the input (parsing) of dates. * * @author Robert Shaw * @author Michael J. Sikorsky */// Contributed by ThoughtWorks Inc.public class DateFormatManager {  //--------------------------------------------------------------------------  //   Constants:  //--------------------------------------------------------------------------  //--------------------------------------------------------------------------  //   Protected Variables:  //--------------------------------------------------------------------------  //--------------------------------------------------------------------------  //   Private Variables:  //--------------------------------------------------------------------------  private TimeZone _timeZone = null;  private Locale _locale = null;  private String _pattern = null;  private DateFormat _dateFormat = null;  //--------------------------------------------------------------------------  //   Constructors:  //--------------------------------------------------------------------------  public DateFormatManager() {    super();    configure();  }  public DateFormatManager(TimeZone timeZone) {    super();    _timeZone = timeZone;    configure();  }  public DateFormatManager(Locale locale) {    super();    _locale = locale;    configure();  }  public DateFormatManager(String pattern) {    super();    _pattern = pattern;    configure();  }  public DateFormatManager(TimeZone timeZone, Locale locale) {    super();    _timeZone = timeZone;    _locale = locale;    configure();  }  public DateFormatManager(TimeZone timeZone, String pattern) {    super();    _timeZone = timeZone;    _pattern = pattern;    configure();  }  public DateFormatManager(Locale locale, String pattern) {    super();    _locale = locale;    _pattern = pattern;    configure();  }  public DateFormatManager(TimeZone timeZone, Locale locale, String pattern) {    super();    _timeZone = timeZone;    _locale = locale;    _pattern = pattern;    configure();  }  //--------------------------------------------------------------------------  //   Public Methods:  //--------------------------------------------------------------------------  public synchronized TimeZone getTimeZone() {    if (_timeZone == null) {      return TimeZone.getDefault();    } else {      return _timeZone;    }  }  public synchronized void setTimeZone(TimeZone timeZone) {    _timeZone = timeZone;    configure();  }  public synchronized Locale getLocale() {    if (_locale == null) {      return Locale.getDefault();    } else {      return _locale;    }  }  public synchronized void setLocale(Locale locale) {    _locale = locale;    configure();  }  public synchronized String getPattern() {    return _pattern;  }  /**   * Set the pattern. i.e. "EEEEE, MMMMM d, yyyy hh:mm aaa"   */  public synchronized void setPattern(String pattern) {    _pattern = pattern;    configure();  }  /**   * This method has been deprecated in favour of getPattern().   * @deprecated Use getPattern().   */  public synchronized String getOutputFormat() {    return _pattern;  }  /**   * This method has been deprecated in favour of setPattern().   * @deprecated Use setPattern().   */  public synchronized void setOutputFormat(String pattern) {    _pattern = pattern;    configure();  }  public synchronized DateFormat getDateFormatInstance() {    return _dateFormat;  }  public synchronized void setDateFormatInstance(DateFormat dateFormat) {    _dateFormat = dateFormat;    // No reconfiguration necessary!  }  public String format(Date date) {    return getDateFormatInstance().format(date);  }  public String format(Date date, String pattern) {    DateFormat formatter = null;    formatter = getDateFormatInstance();    if (formatter instanceof SimpleDateFormat) {      formatter = (SimpleDateFormat) (formatter.clone());      ((SimpleDateFormat) formatter).applyPattern(pattern);    }    return formatter.format(date);  }  /**   * @throws java.text.ParseException   */  public Date parse(String date) throws ParseException {    return getDateFormatInstance().parse(date);  }  /**   * @throws java.text.ParseException   */  public Date parse(String date, String pattern) throws ParseException {    DateFormat formatter = null;    formatter = getDateFormatInstance();    if (formatter instanceof SimpleDateFormat) {      formatter = (SimpleDateFormat) (formatter.clone());      ((SimpleDateFormat) formatter).applyPattern(pattern);    }    return formatter.parse(date);  }  //--------------------------------------------------------------------------  //   Protected Methods:  //--------------------------------------------------------------------------  //--------------------------------------------------------------------------  //   Private Methods:  //--------------------------------------------------------------------------  private synchronized void configure() {    _dateFormat = SimpleDateFormat.getDateTimeInstance(DateFormat.FULL,        DateFormat.FULL,        getLocale());    _dateFormat.setTimeZone(getTimeZone());    if (_pattern != null) {      ((SimpleDateFormat) _dateFormat).applyPattern(_pattern);    }  }  //--------------------------------------------------------------------------  //   Nested Top-Level Classes or Interfaces:  //--------------------------------------------------------------------------}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -