Java Data类

Java Data类

距离一个固定时间点的毫秒数(long型类)表达一个特定的时间点
固定的时间点叫纪元(UTC时间1970年1月1日 00:00:00)

java.util.Date
Date的每一个实例用于表示一个确切的时间(精准为毫秒)
内部维护一个long值,该值表示自1970年1月1日00:00:00到当前Date表示的时间所经过的毫秒
Date存在时区等设计缺陷,因此大部分方法都被声明为过时的再以后的开发中不应当使用。

获取Date类

	Date date = new Date();
	Date date = new Date(long num);	// -> 创建Date实例并设置时间为num;
									// 格式:Sat Jun 21 00:00:00 CST 2025
	date.getTime();					// -> 获取Date内部维护的毫秒值(long)
	date.setTime(long num);			// -> 设置时间为num

将时间(date)转换为自定义输出格式

Date now = new Date();

	y  -=>		yyyy	 -> 2019; yy -> 19年
	M  -=>		MM	 	 -> 08; M  -> 8月
	d  -=>		dd		 -> 06; d	-> 6日
	E  - 星期	=>		E		 -> 星期X
	a  - AM/PM  =>		a		 -> 下午(PM)
	H  - 小时(24小时制)
	h  - 小时(12小时制) 
	m  - 分钟
	s	- 秒

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
sdf.format(now);	// -> 返回值(String) : 2019-8-21 16:37:26

将字符串解析为Date对象

String str = " 2019-04-01 13:12:34 ";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
	Date d = sdf.parse(str);
	System.out.println(d);
} catch (ParseException e) {
	e.printStackTrace();
}

Calendar

java.util.Calendar
封装日历信息(可以对时间分量进行运算)
抽象类,规定了日历类操作时间的一系列方法
可以使用其提供的静态方法:getInstance还获取一个当前系统所在地区适用的实现类,大部分地区获取回来的是GregorianCalendar,即:阳历实现类

Calendar calendar = Calendar.getInstance();
calendar.getTime();						// -> 获取当前时间
calendar.setTime(Date date);			// -> 设置Calendar表示给定的date所表示的日期


int get(int field)
获取当前Calendar表示的日期中指定时间分量所对应的值
不同的时间分量用不同的整数表示,Calendar提供了大量的常量与之对应

Calendar calendar = Calendar.getInstance();
calendar.get(Calendar.YEAR);			// 获取年
calendar.get(Calendar.MONTH)+1;			// 获取月(是从0开始的)
calendar.get(Calendar.DAY_OF_MONTH);	// DAY_OF_MONTH => 获取月中的天
										// DAY_OF_WEEK => 获取周中的天(默认从周日开始)
										// DAY_OF_YEAR => 获取年中的天
										// DATE => 与DAY_OF_MONTH一样
calendar.get(Calendar.HOUR_OF_DAY);		// 获取小时
calendar.get(Calendar.MINUTE);			// 获取分钟
calendar.get(Calendar.SECOND);			// 获取秒

calendar.getActualMaximum(field);				// 获取指定时间分量允许的最大值
calendar.getActualMaximum(Calendar.DAY_OF_YEAR);// -> 查看一年中天数


void set(int field,int value)
调整当前Calendar指定时间分量为给定的值
会按照日历表中的时间变化
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,2019);		// -> 调整年为2019


void add(int field,int amount)
对指定的时间分量加上给定的值,若给定的值为负数则是减去。
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.YEAR,3);			// -> 年上加上3
calendar.add(Calendar.MONTH,3);			// -> 月上加上3
calendar.add(Calendar.DAY_OF_YEAR,3);	// -> 	年的天上加上3天
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值