Java 时间类API的使用

2020-05-06
0 评论 16 浏览

时间类 API

在日常学习生活中,我们经常遇到时间相关的问题,现在虽然 Date 类已经不是主流了,但任然有许多方法要学习

1.1DateFormat

1.1.1 使用示例

package APICourceCode;

import java.text.DateFormat;
import java.util.Date;

public class dateAPI {
	public static void main(String[] args) {
		Date date = new Date();
		DateFormat ses = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);
		String sesa = ses.format(date);
		System.out.println(sesa);
	}
}

其常见的Style如下

FULL:2019年12月16日 星期一 下午06时38分17秒 CST
LONG:2019年12月16日 下午06时39分20秒
MEDIUM:2019-12-16 18:39:41 (默认方式)
SHORT:19-12-16 下午6:40

如果需要自定义的格式,就需要按照下面的表格自定义,自定义以后,系统自带的Style将不生效

字母意义
y
M月份
w年份中的周数
W月份中的周数
d月份中的天数
D年份中的天数
F月份中的星期
E星期中的天数
aam/pm 表示上下午
H一天中的小时数(0-23)
ham/pm 中的一天小时数(1-12)
m小时中的分钟数
s分钟中的秒数
S毫秒数
zPST;GMT 时区
package APICourceCode;

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

public class dateAPI {
	public static void main(String[] args) {
		Date date = new Date();
		DateFormat ses = DateFormat.getDateTimeInstance();
		ses = new SimpleDateFormat("yyyy/MM/dd HH-mm-ss-SS");
		String sesa = ses.format(date);
		System.out.println(sesa);
		
	}
}

1.1.2 总结:

DateFormat方法其实很简单,

① 首先new一个Date类对象,就不用管了

② 调用DateFormat方法对象(不需要 new),生成自定义的Style

③ 使用字符串接收DateFormat对象的Format方法,需要传Date类的对象

1.2 DateFormat 反解析

1.2.1 使用示例:

package APICourceCode;

import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;

public class ReverseDateFormat {
	public static void main(String[] args) throws ParseException {
		String str = "2019-07-02";
		DateFormat se = DateFormat.getDateInstance();
		Date date =se.parse(str);
		System.out.println(date);
	}
}

2 Calendar

2.1 使用示例:

package APICourceCode;

import java.util.Calendar;

public class CalenderL {
	public static void main(String[] args) {
		Calendar se = Calendar.getInstance();
		
		se.add(Calendar.YEAR, 1);
		
		int year = se.get(Calendar.YEAR);
		int month = se.get(Calendar.MONTH)+1;
		int day = se.get(Calendar.DAY_OF_MONTH);
		int hours = se.get(Calendar.HOUR_OF_DAY);
		int minute = se.get(Calendar.MINUTE);
		int sec = se.get(Calendar.SECOND);
		System.out.println(year + "-" + month + "-" + day + "-" + hours + "-" + minute + "-" + sec);
	}
}
----------
2020-12-16-20-16-53

2.2 常见的Calendar参数

java.util.GregorianCalendar[
time=1576496255445,
firstDayOfWeek=1,
YEAR=2019,
MONTH=11,
WEEK_OF_YEAR=51,
WEEK_OF_MONTH=3,
DAY_OF_MONTH=16,
DAY_OF_YEAR=350,
DAY_OF_WEEK=2,
DAY_OF_WEEK_IN_MONTH=3,
HOUR=7,
HOUR_OF_DAY=19,
MINUTE=37,
SECOND=35,
MILLISECOND=445]

2.3 日期的偏移

se.add(Calendar.MONTH, 1);

个人认为作用不是很大


作者:JokerLee
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。
转载请注明来源:Java 时间类API的使用

评论
发表评论