通过String类型的pattern自定义显示格式
String类型的pattern 指定format格式,参见SimpleDateFormat
timeZone 指定时区,若不指定,则使用系统默认的
locale 指定 国家区域,若不指定,则使用系统默认的
static FastDateFormat getDateTimeInstance(int dateStyle, int timeStyle)
static FastDateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale locale)
static FastDateFormat getDateTimeInstance(int dateStyle, int timeStyle, TimeZone timeZone)
static FastDateFormat getDateTimeInstance(int dateStyle, int timeStyle, TimeZone timeZone, Locale locale)
同时控制 日期和 时间的显示格式
使用style指定的日期和时间显示的完整性,静态字段提供
StringBuffer format(Date date, StringBuffer buf)
StringBuffer format(long millis, StringBuffer buf)
StringBuffer format(Calendar calendar, StringBuffer buf)
将格式化后的字符串写入到一个StringBuffer对象中
String format(long millis)
String format(Date date)
String format(Calendar calendar)
Date parse(String source)
Date parse(String source, ParsePosition pos)
从字符串解析一个Date,解析的模式是构造时决定的
String getPattern() 获取fommat时的pattern
TimeZone getTimeZone()
Locale getLocale()
例子:
import java.util.Date; import java.util.Locale; import org.apache.commons.lang3.time.FastDateFormat; /** * 当使用FastDateFormat.getInstance()构造时,需要和SimpleDateFomat一样,自定义格式化字符串。 * 当使用FastDateFormat.getDateTimeInstance() 构造时,需要 FastDateFormat的4个静态字段指定日期 和 时间显示的具体程度 * 当使用FastDateFormat.getDateInstance() 构造时,意为着你只想显示日期,需要 FastDateFormat的4个静态字段指定日期的显示的具体程度 * */ public class Test { public static void showCustom() { String pattern = "yyyy-MM-dd HH:mm:ss"; final FastDateFormat df = FastDateFormat.getInstance(pattern); System.out.println(df.format(new Date())); } public static void showDateAndTime() { final FastDateFormat df = FastDateFormat.getDateTimeInstance(FastDateFormat.FULL, FastDateFormat.FULL, Locale.CHINA); System.out.println(df.format(new Date())); } public static void showDate() { final FastDateFormat df = FastDateFormat.getDateInstance(FastDateFormat.LONG, Locale.CHINA); System.out.println(df.format(new Date())); } public static void main(String[] args) { showCustom(); showDateAndTime(); showDate(); /*Output * * 2016-10-15 16:18:49 2016年10月15日 星期六 下午04时18分49秒 CST 2016年10月15日 */ } }
SimpleDateFormat的时间字符串表达模式定义表
LetterDate or Time ComponentPresentationExamplesG Era designator AD
y Year 1996; 96
Y Week year 2009; 09
M Month in year (context sensitive) July; Jul; 07
L Month in year (standalone form) July; Jul; 07
w Week in year 27
W Week in month 2
D Day in year 189
d Day in month 10
F Day of week in month 2
E Day name in week Tuesday; Tue
u Day number of week (1 = Monday, ..., 7 = Sunday) 1
a Am/pm marker PM
H Hour in day (0-23) 0
k Hour in day (1-24) 24
K Hour in am/pm (0-11) 0
h Hour in am/pm (1-12) 12
m Minute in hour 30
s Second in minute 55
S Millisecond 978
z Time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone -0800
X Time zone -08; -0800; -08:00