JDK8之前的日期时间API

时间类

  • java.lang.System
  • java.util.Date类:表示特定时间
  • java.text.SimpleDateFormat类:用来对日期进行格式化
  • java.util.Calendar( 日历)类:对日期个字段进行操作

System类

  • currentTimeMillis() 返回现在时间与1970年1月1日0时0分0秒的时间差

Date类

  • java.util.Date类
  • java.sql.Date类(暂时不学)

构造器

  • 创建当前时间的Date对象:new Date();

  • 创建指定毫秒数:new Date( 毫秒数);
    常用方法

  • toString()显示年月日(把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue,Wed, Thu, Fri, Sat),zzz是时间标准)

  • getTime()得到毫秒数

package DateTime;

import java.util.Date;

public class Demo01 {
	public static void main(String[] args) {
		//构造方法一:创建当前时间的的Date对象
		Date date = new Date();//
		System.out.println(date.toString());
		//构造方法二:毫秒为参数
		Date date2 = new Date(date.getTime());//getTime()得到目前时间时间戳
		
		System.out.println(date2);
	}

}

  • java.util.Date与java.sql.Date互转:通过getTime()与构造方法。

java.text.SimpleDateFormat类

  • 对日期Date类的格式化与解析
  • 格式化:日期——>文本。文本——>日期

例子

package DateTime;

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

public class Demo02 {
	public static void main(String[] args) throws ParseException {
		Date date1=new Date();
	SimpleDateFormat sdf=new SimpleDateFormat();//实例化一个SimpleDateFormat对象,无参数输出默认格式
	System.out.println("格式化之前:"+date1);
	System.out.println("格式化之后:"+sdf.format(date1));//格式化
	SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年mm月dd日");//实例化一个有参数的SimpleDateFormat对象
	System.out.println("有参数格式化之后:"+sdf2.format(date1));
	System.out.println("***************解析******************");
	String str1="2018年6月9日";
	String str2="2020/8/5 下午8:28";
	System.out.println(sdf2.parse(str1));//解析时要与相应的格式相对应
	System.out.println(sdf.parse(str2));
	
	
	
		}
		

}

  • 类的实例化方法

    • SimpleDateFormat() :默认的模式和语言环境创建对象
    • public SimpleDateFormat(String pattern) :该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用:
  • 格式化方法:public String format(Date date) 方法格式化时间对象date

  • 解析方法: public Date parse(String source) 从给定字符串的开始解析文本,以生成一个日期

Calendar类

  • 是一个抽象类,主要用于完成日期字段之间的互相操作

  • java.util.Calendar类

  • 实例化方法

    • 使用Calendar.getInstance()方法
    • 使用调用它的子类GregorianCalendar的构造器。
  • 常用方法

    • public void set(int field,int value)
    • public void add(int field,int amount)
    • public final Date getTime()
    • public final void setTime(Date date)
  • 常用字段:YEAR、MONTH、DAY_OF_WEEK、HOUR_OF_DAY 、MINUTE、SECOND

package DateTime;

import java.util.Calendar;
import java.util.Date;

public class Demo08 {
	public static void main(String[] args) {
		// 实例化方法:调用getInstance()/创建子类对象
		Calendar ca = Calendar.getInstance();
		// get
		int day = ca.get(Calendar.DAY_OF_MONTH);// 当前时间时这个月的第几天
		System.out.println(day);
		System.out.println(ca.get(Calendar.DATE));
		// set
		ca.set(Calendar.DAY_OF_MONTH, 25);// void方法,改变了自己
        //特别注意正确方法
		int day1 = ca.get(Calendar.DAY_OF_MONTH);// 当前时间时这个月的第几天
		System.out.println(day1);// 25
		// add:减=加负数
		ca.add(Calendar.DAY_OF_MONTH, 3);
		int day2 = ca.get(Calendar.DAY_OF_MONTH);
		System.out.println(day2);
		// getTime:日历类——》date
		Date date = ca.getTime();
		System.out.println(date);
		// setTime;Date——》日历类
		Date date2 = new Date();
       ca.setTime(date2);
      int day3=ca.get(Calendar.DAY_OF_MONTH);
      System.out.println(day3);
	}
}

  • 获取月份时:一月是0,二月是1,以此类推,12月是11
  • 获取星期时:周日是1,周二是2 , 。。。。周六是7
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值