西湖鱼 发表于 2017-1-9 09:59:28

[Jakarta Commons笔记] org.apache.commons.lang.time

好了,来看我在Common Lang中最后要讲的一个包:org.apache.commons.lang.time。这个包里面包含了如下5个类:
 
DateFormatUtils – 提供格式化日期和时间的功能及相关常量;
DateUtils – 在Calendar和Date的基础上提供更方便的访问;
DurationFormatUtils – 提供格式化时间跨度的功能及相关常量;
FastDateFormat – 为java.text.SimpleDateFormat提供一个的线程安全的替代类;
StopWatch – 是一个方便的计时器。
 
我们还是在一个例子中来看上述各个类的用法吧:
 
package sean.study.jakarta.commons.lang;
 
import java.util.Calendar;
import java.util.Date;
 
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
import org.apache.commons.lang.time.FastDateFormat;
import org.apache.commons.lang.time.StopWatch;
 
public class DateTimeUsage {
 
    public static void main(String[] args) {
        demoDateUtils();
        demoStopWatch();
    }
   
    public static void demoDateUtils() {
        System.out.println(StringUtils.center(" demoDateUtils ", 30, "="));
        Date date = new Date();
        String isoDateTime = DateFormatUtils.ISO_DATETIME_FORMAT.format(date);
        String isoTime = DateFormatUtils.ISO_TIME_NO_T_FORMAT.format(date);
        FastDateFormat fdf = FastDateFormat.getInstance("yyyy-MM");
        String customDateTime = fdf.format(date);
        System.out.println("ISO_DATETIME_FORMAT: " + isoDateTime);
        System.out.println("ISO_TIME_NO_T_FORMAT: " + isoTime);
        System.out.println("Custom FastDateFormat: " + customDateTime);
        System.out.println("Default format: " + date);
        System.out.println("Round HOUR: " + DateUtils.round(date, Calendar.HOUR));
        System.out.println("Truncate HOUR: " + DateUtils.truncate(date, Calendar.HOUR));
        System.out.println();
    }
   
    public static void demoStopWatch() {
        System.out.println(StringUtils.center(" demoStopWatch ", 30, "="));
        StopWatch sw = new StopWatch();
        sw.start();
        operationA();
        sw.stop();
        System.out.println("operationA used " + sw.getTime() + " milliseconds.");
        System.out.println();
    }
   
    public static void operationA() {
        try {
            Thread.sleep(999);
        }
        catch (InterruptedException e) {
            // do nothing
        }
    }
 
}
 
以下是运行结果:
 
======= demoDateUtils ========
ISO_DATETIME_FORMAT: 2005-08-01T12:41:51
ISO_TIME_NO_T_FORMAT: 12:41:51
Custom FastDateFormat: 2005-08
Default format: Mon Aug 01 12:41:51 CST 2005
Round HOUR: Mon Aug 01 13:00:00 CST 2005
Truncate HOUR: Mon Aug 01 12:00:00 CST 2005
 
======= demoStopWatch ========
operationA used 1000 milliseconds.
 
具体的调用细节和完整的API请参阅Commons Lang的Javadoc。
页: [1]
查看完整版本: [Jakarta Commons笔记] org.apache.commons.lang.time