跳转至

java SimpleDateFormat类

1. 介绍

  想必大家对 SimpleDateFormat 并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,他是以区域敏感的方式格式化和解析日期的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。

  SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。它允许格式化(日期文本),解析(文本日期)和归一化。SimpleDateFormat允许您从选择日期时间格式化的任何用户定义的模式开始。不过,建议您创建一个日期-时间格式有两种getTimeInstance,getDateInstance,或getDateTimeInstance在DateFormat。这些类方法中的每一个都可以返回使用默认格式模式初始化的日期/时间格式化程序。 您可以根据需要使用applyPattern方法修改格式模式。 有关使用这些方法的更多信息,请参见DateFormat 。

  日期和时间格式由日期和时间模式字符串指定。在日期和时间模式字符串中,从'A'到'Z'和从'a'到'z'的非引号的字母被解释为表示日期或时间字符串的组件的模式字母。 可以使用单引号( ' )引用文本,以避免解释。 "''"代表单引号。 所有其他字符不被解释; 在格式化过程中,它们只是复制到输出字符串中,或者在解析过程中与输入字符串匹配。

  定义了以下图案字母(所有其他字符从'A'到'Z'和从'a'到'z'被保留):

Letter Date or Time Component Presentation
G Era designator Text AD
y Year Year 1996; 96
Y Week year Year 2009; 09
M Month in year (context sensitive) Month July; Jul; 07
L Month in year (standalone form) Month July; Jul; 07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day name in week Text Tuesday; Tue
u Day number of week (1 = Monday, ..., 7 = Sunday) Number 1
a Am/pm marker ext PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800
X Time zone ISO 8601 time zone -08; -0800; -08:00

import java.text.SimpleDateFormat;
import java.util.Date;

public class Main{
    public static void main(String[] args){
        Date date = new Date();
        String strDateFormat = "yyyy-MM-dd HH:mm:ss";
        SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
        System.out.println(sdf.format(date));
    }
}
以上代码运行输出结果为:
2015-03-27 21:13:23