时间日期的操作类

时间日期的操作类

7.10.Calendar如何创建对象,有哪些常用方法?
Calendar类的定义
public abstract class Calendar 他是一个抽象类,它不能通过new+构造方法的方式构建对象
构造方法:
在这里插入图片描述

Calendar类的定义和它的protected修饰符修饰的构造方法,决定Calendar类的对象创建和特殊,不会是new+构造方法的方式
通过本类提供静态方法完成
在这里插入图片描述

//创建Calendar类对象
Calendar calendar=Calendar.getInstance();

日历的作用1.看日子 2.定日子
在这里插入图片描述

Calendar 的静态变量
在这里插入图片描述

package com.riqi;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test1 {
	
	public static void main(String[] args) {
		//创建Calendar类对象
				Calendar calendar=Calendar.getInstance();
				//int get(int field) 返回给定日历字段的值。  
				//int field---给定的日历字段
				//YEAR---年
				System.out.println("YEAR--"+calendar.get(Calendar.YEAR));
				//MONTH --月【从0开始数】
				System.out.println("MONTH--"+(calendar.get(Calendar.MONTH)+1));
				//DAY_OF_MONTH--月中的天
				System.out.println("DAY_OF_MONTH--"+calendar.get(Calendar.DAY_OF_MONTH));
				//DAY_OF_WEEK---周中的星期【从星期天开始数】
				System.out.println("DAY_OF_WEEK--"+calendar.get(Calendar.DAY_OF_WEEK));
				//DAY_OF_YEAR---年中的天
				System.out.println("DAY_OF_YEAR--"+calendar.get(Calendar.DAY_OF_YEAR));
				//WEEK_OF_YEAR--年中的周
				System.out.println("WEEK_OF_YEAR--"+calendar.get(Calendar.WEEK_OF_YEAR));
				//WEEK_OF_MONTH--月中的周 
				System.out.println("WEEK_OF_MONTH--"+calendar.get(Calendar.WEEK_OF_MONTH));
				//set(int year, int month, int date, int hourOfDay, int minute, int second) 
				//设置字段中的值 YEAR , MONTH , DAY_OF_MONTH , HOUR_OF_DAY , MINUTE和 SECOND 。
				calendar.set(2020, 8, 20, 18, 30,30);
				Date  date =calendar.getTime();
				System.out.println(date);
				SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
				String newdate=sdf.format(date);
				System.out.println(newdate);

	}

}

在这里插入图片描述

7.11.Date类如何创建对象,有哪些常用方法?
Date类的定义—public class Date
Date表示特定的时间。
构造方法:

Date() 创建一个 Date对象,保存了当前系统时间。【格式不符合我们的认识】
Date(long date) 创建一个 Date对象,保存的是从标准基准时间即1970年1月1日00:00:00 GMT到当下所经过的毫秒数的当下时间。
date - 1970年1月1日00:00:00 GMT以来的毫秒数。
实例方法 boolean after(Date when)测试此日期是否在指定日期之后。
boolean before(Date when) 测试此日期是否在指定日期之前。
boolean equals(Object obj) 比较两个日期来平等。【Date重写过】
long getTime() 返回自1970年1月1日以来,由此 Date对象表示的00:00:00 GMT的毫秒 数 。
void setTime(long time) 设置此 Date对象以表示1970年1月1日00:00:00 GMT后的 time毫秒的时间点。
String toString() 将此 Date对象转换为 String的形式
package com.riqi;

import java.util.Date;

public class Test2 {

	public static void main(String[] args) {
		//Date()创建一个Date对象,保存了当前系统时间
		Date date1= new Date();
		System.out.println(date1);	//Fri Aug 21 09:20:33 CST 2020
		//Date(long date) 创建一个 Date对象,保存的是从标准基准时间即1970年1月1日00:00:00 GMT到当下所经过的毫秒数的当下时间。
		//参数date - 1970年1月1日00:00:00 GMT以来的毫秒数。 
		Date date2= new Date(5000);
		System.out.println(date2); //Thu Jan 01 08:00:05 CST 1970
		//通过Date(long date)得到当前系统时间?
		//1.得到1970年1月1日00:00:00 GMT以来的毫秒数
		long haomiao = System.currentTimeMillis();
		System.out.println(haomiao); //1597972914178
		Date date3= new Date(haomiao);
		System.out.println(date3); 	//Fri Aug 21 09:22:25 CST 2020
		/*
		boolean after(Date when)测试此日期是否在指定日期之后。  
		boolean before(Date when) 测试此日期是否在指定日期之前。
		*/
		boolean flag1 = date1.after(date2);
		System.out.println(flag1);	//true
		boolean flag2=date1.after(date2);
		System.out.println(flag2);	//true
		//long getTime() 返回自1970年1月1日以来,由此 Date对象表示的00:00:00 GMT的毫秒 数 。 
        long hm=date1.getTime();
        System.out.println(hm);	//1597973316840
        //void setTime(long time) 设置此 Date对象以表示1970年1月1日00:00:00 GMT后的 time毫秒的时间点。  
        date1.setTime(8000);
        System.out.println(date1);	//Thu Jan 01 08:00:08 CST 1970
        //String toString() 将此 Date对象转换为 String的形式
        String strdate=date1.toString();	
        System.out.println(strdate);	//Thu Jan 01 08:00:08 CST 1970
	
	}

}

7.12.SimpleDateFormat类如何创建对象,有哪些常用方法?
java.text.SimpleDateFormat —格式化和解析日期
SimpleDateFormat() 使用默认的时间日期格式
SimpleDateFormat(String pattern) 使用给定的时间日期格式
参数–String pattern【描述日期和时间格式的模式】
时间格式的模式
y—年【yyyy/1998,yy/98】
M–月【MM/08】
d—日【dd/23】
H—时【HH/12】
m–分【mm/23】
s—秒 【ss/56】
S–毫秒【sss/768】
E–星期【E/星期三】
“yyyy年MM月dd日 HH:mm:ss E”
“yyyy/MM/dd HH:mm:ss E”
“yyyy-MM-dd HH:mm:ss E”
“yyyy/MM/dd E HH:mm”

String format(Date date) 格式化一个时间日期来生成一个字符串。
Date parse(String source) 从给定字符串的开始解析文本以生成日期。

package com.test1;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo1 {
	public static void main(String[] args)throws Exception{
		/*将时间转换成指定格式的字符串形式
		//得到当前系统时间
		Date  date1=new Date();
		System.out.println(date1);
		//创建一个固定的格式
		String  geshi="yyyy/MM/dd E HH:mm";
		//创建一个时间日期格式化对象
		SimpleDateFormat  sdf=new SimpleDateFormat(geshi);
		//开始格式化时间日期
		String stringdate=sdf.format(date1);
		System.out.println(stringdate);
		*/
		
		//指定格式的字符串形式的时间日期转换成java.util.Date对象
		String strytime="2020/08/20 星期四 15:33";
		//创建一个固定的格式
		String  geshi="yyyy/MM/dd E HH:mm";
		//创建一个时间日期格式化对象
		SimpleDateFormat  sdf=new SimpleDateFormat(geshi);
		//解析时间日期字符串成Date
		Date  date2=sdf.parse(strytime);
		System.out.println(date2);
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值