JAVA-日期与时间(Date,SimpleDateFormat,Calendar)

日期与时间
◆Date
◆SimpleDateFormat
◆Calendar

◆Date

Date类概述:

  • Date类的对象在java中代表的是当前所在系统的此刻日期时间。

案例:
请计算出当前时间往后走1小时121秒之后的时间是多少。
时间毫秒值->日期对象

 

案例代码:

package com.itheima.d1_date;

import java.util.Date;

public class DateDemo1 {
    public static void main(String[] args) {
        //1 当前时间 方式1
        Date date = new Date();
        System.out.println("创建的日期对象:");
        System.out.println(date);// 当前日期与时间
        

        //将日期转化为毫秒数
        System.out.println("Date对象的getTime方法:");
        System.out.println(date.getTime());

        //方式2
        long time = System.currentTimeMillis();
        System.out.println("调用的System.currentTimeMillis():");
        System.out.println(time);
        //将毫秒数转化成日期
        System.out.println("将毫秒数转化成日期:");
        Date time2 = new Date(time); //或者Date time2 = new Date() time2.setTime(time);
        
        System.out.println(time2);
        //以上两种方式返回的是毫秒数,方式2更优,不用创建对象


    }
}

输出结果:
创建的日期对象:
Sat Apr 09 23:56:29 CST 2022
Date对象的getTime方法:
1649519789440
调用的System.currentTimeMillis():
1649519789457
将毫秒数转化成日期:
Sat Apr 09 23:56:29 CST 2022

小结:

1、日期对象如何创建,如何获取时间毫秒值?

  • Datedate new Date();
  • Long time date.getTime();

2、时间毫秒值怎么恢复成日期对象

  • Date d=new Date(time);
  • d.setTime(time);

◆SimpleDateFormat
 

SimpleDateFormat类作用:

  • 可以对Date对象或时间毫秒值格式化成我们喜欢的时间形式。
  • 也可以把字符串的时间形式解析成日期对象。

 

 SimpleDateFormat解析字符串时间成为日期对象:

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

 案例
●请计算出2021年08月06日11点11分11秒,往后走2天14小时49分06秒后的时间是多少。

package com.d1_date;

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

/**
 * 案例:
 */
public class SimpleDateFormatDemo1 {
    public static void main(String[] args) throws ParseException {
        //1定义一个字符串存储时间
        String str = "2021年08月06日 11:11:11";

        //2字符串中的时间格式
        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

        //3将字符串类型日期转化为Date类型日期
        Date date = format.parse(str);

        //4将Date类型日期转化为毫秒数 + 2天14小时49分06秒
        long time = date.getTime() + (2L*24*60*60 + 14*60*60 + 49*60 + 6) * 1000;

        //5将毫秒数转化为Date类型日期
        System.out.println(format.format(time));
    }
}
//输出结果:2021年08月09日 02:00:17

小结:

  • SimleDateFormat可以格式化哪些时间形式?

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String rs1 = sdf.format(date);
String rs2 = sdf.format(time);

  • SimpleDateFormat如何进行字符串时间的解析的?

SimpleDateFormat sdf  = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sdf.parse(("2021-08-04 11:11:11");

 ◆Calendar

 代码示例:

public class CalendarDemo01{
	public static void main(String[] args){
		//1、拿到系统此刻日历对象
		Calendar cal Calendar.getInstance();
		System.out.println(cal);
		//2、获取日历的信息:public int get(int field):取日期中的某个字段信息。
		int year cal.get(Calendar.YEAR);
		System.out.println(year);
		int mm = cal.get(Calendar.MONTH)+1;
		System.out.println(mm);
		int days = cal.get(Calendar.DAY_OF_YEAR);
		System.out.println(days);
		//3、public void set(int field,int valve):修改日历的某个字段信息。
		//4.public void add(int field,int amount):为某个字段增加/减少指定的值
		//1请问64天后是什么时间
		cal.add(Calendar.DAY_OF_YEAR ,amount:64);
		cal.add(Calendar.MINUTE,amount:59);
		//5.public final Date getTime():拿到此刻日期对象。
		Date d = cal.getTime();
		System.out.println(d);
		//6.public Long getTimeInMillis():拿到此刻时间毫秒值
		long time = cal.getTimeInMillis();
		System.out.println(time);
		}
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值