SimpleDateFormat类在java API中这样描述的:
SimpleDateFormat
是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
SimpleDateFormat
使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过 DateFormat
中的 getTimeInstance
、getDateInstance
或 getDateTimeInstance
来创建日期-时间格式器。每一个这样的类方法都能够返回一个以默认格式模式初始化的日期/时间格式器。可以根据需要使用 applyPattern
方法来修改格式模式。有关使用这些方法的更多信息,请参阅 DateFormat
。可以看出SimpleDateFormat主要是格式化日期的;
字母 | 日期或时间元素 | 表示 | 示例 |
---|---|---|---|
G | Era 标志符 | Text | AD |
y | 年 | Year | 1996 ; 96 |
M | 年中的月份 | Month | July ; Jul ; 07 |
w | 年中的周数 | Number | 27 |
W | 月份中的周数 | Number | 2 |
D | 年中的天数 | Number | 189 |
d | 月份中的天数 | Number | 10 |
F | 月份中的星期 | Number | 2 |
E | 星期中的天数 | Text | Tuesday ; Tue |
a | Am/pm 标记 | Text | PM |
H | 一天中的小时数(0-23) | Number | 0 |
k | 一天中的小时数(1-24) | Number | 24 |
K | am/pm 中的小时数(0-11) | Number | 0 |
h | am/pm 中的小时数(1-12) | Number | 12 |
m | 小时中的分钟数 | Number | 30 |
s | 分钟中的秒数 | Number | 55 |
S | 毫秒数 | Number | 978 |
z | 时区 | General time zone | Pacific Standard Time ; PST ; GMT-08:00 |
Z | 时区 | RFC 822 time zone | -0800 |
package com.日期类;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo {
public static void main(String[] args) {
SimpleDateFormat sd=new SimpleDateFormat();
System.out.println(new Date().getTime());
System.out.println(System.currentTimeMillis());
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒SS毫秒ZZ时区");
Date date=new Date();
String s=sdf.format(date);
System.out.println(s);
String day_time=new SimpleDateFormat("yyyy-MM-dd HH:mm").format(date);
System.out.println(day_time);
}
}
1504095145995
1504095145996
2017年08月30日20时12分25秒996毫秒+0800时区
2017-08-30 20:12
其中上述代码中System.out.println(new Date().getTime());
System.out.println(System.currentTimeMillis());这两句代码常用来检测程序运行多长时间;