Date类与Calender日历类

Date类
Date类拥有多个构造函数,但是部分已经过时。还在使用的构造方法有以下两种。
构造方法属性
Date()创建一个Date,对应当前时间,精度在毫秒值
Date(long date)根据时间戳毫秒数,创建对应的Date对象,时间戳是从1970-01-01 00:00:00 GMT
常用到的方法如下:
方法名功能
long getTime();通过Date类对象获取对应当前时间的毫秒数
public class Demo1 {
	public static void main(String[] args) {
		Date date = new Date();
		
		System.out.println(date.getTime());
	}
}//编辑时输出结果为1582896506865 这个时间是距离时间戳的时间
//单位为毫秒
上面的数字很显然不是我们想看到的结果,这么长一串数字我们无法获得有效信息所以有DateFormat 日期格式类帮助我们转换一下
DateFormat 日期格式类
DateFormat 是一个abstract修饰的类,用于转换时间格式。DateFormat不能直接使用,一般使用DateFormat子类SimpleDataFormat来使用.
SimpleDataForma构造方法中需要的参数是一个String,String类型的参数有特定的要求。
常用方法
String format(Date date);根据指定匹配要求,转换Date格式成为字符串
Date parse(String format);按照指定的匹配规则,解析对应的字符串,返回一个Date数据
这两个方法的使用都需要和SimpleDateFormat类相结合 SimpleDateFormat类的构造方法中提供了一种设置格式的参数,常见的参数如下表.
标识字母(区分大小写)对应含义
y
M
d
H时(24小时)
m
s
public class Demo1 {
	public static void main(String[] args) {
		Date date = new Date();
		
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		
		String format = sdf.format(date);
		System.out.println(format);
		
	}
}//这里是SimpleDateFormat的一种用法 但是一定注意年分尽量不要去用大写的Y有可能会出现一些意想不到的结果
Calender日历类
由于Date类中多种方法已经过时不方面继续使用,于是有了Calender日历类,替换了很多Date类中的方法。把很多数据都作为静态的属性,通过一些特定
的方法来获取。比Date处理日期数据更加方便。Calender是一个abstract修饰的类,没有自己的类对象。这里通过特定的方法getInstance获取
Calender日历类对象。public static Calender getInstance() 可以获取默认当前系统时区的Calender对象。常用方法如下。
方法名用途
public int get(int field);返回特定数据的数值
public void set(int field, int value);设置特定字段对应的数据
public Date getTime();返回得到一个Date对象,从计算机元年到现在的毫秒数,保存在date对象中
Calender日历类还有一些常见的静态修饰的时间分量常量
字段名含义
YEAR
MONTH月(从0开始,使用时习需要+1)
DAY_OF_MONTH当前月的第几天
HOUR小时(12小时制)
HOUR_OF_DAY小时(24小时制)
MINUTE分钟
SECOND
DAY_OF_WEEK周几(周日为1)
public class Demo3 {
	public static void main(String[] args) {
		Calendar calendar = Calendar.getInstance();
		
		int year = calendar.get(Calendar.YEAR);
		int month = calendar.get(Calendar.MONTH) + 1;
		int day = calendar.get(Calendar.DAY_OF_MONTH);
		
		int hour = calendar.get(Calendar.HOUR_OF_DAY);
		int minute = calendar.get(Calendar.MINUTE);
		int second = calendar.get(Calendar.SECOND);
		
		int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
		
		System.out.println(year + "-" + month + "-" + day + " " + hour
				+ ":" + minute + ":" + second + " " + dayOfWeek);
		
		System.out.println("------------------");
		
		calendar.set(Calendar.YEAR, 2008);
		calendar.set(Calendar.MONTH, 7);
		calendar.set(Calendar.DAY_OF_MONTH, 8);
		
		Date time = calendar.getTime();
		System.out.println(time);
		
		System.out.println("------------------");
	
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值