Date类的常用方法

Date类中的常用方法

方法名说明
public Date()获取当前系统时间
public Date(Long date)获取指定时间戳的时间
public long getTime()获取时间戳,毫秒
public void setTime(Long time)设置时间,参数为毫秒值

创建一个Date类的对象

获取当前的时间对象,通过new Date实例化对象,输出就是就是当前的系统时间


import java.util.Date;

/**
 * @Classname : demo08
 * @Description : TODO date类方法
 * @Author : lin_refuel@qq.com
 */
public class demo08 {
    public static void main(String[] args) {
        Date date = new Date();//获取的是当前时间
        System.out.println(date);
    }
}

运行结果: 就是一个当前的时间
在这里插入图片描述

Date获取指定时间的时间戳

获取一个昨天的时间

/**
 * @Classname : demo08
 * @Description : TODO date类方法
 * @Author : lin_refuel@qq.com
 */
public class demo08 {
    public static void main(String[] args) {
        //例如获取一个昨天的时间
        Date date1 = new Date();
        System.out.println(date1);//当前的系统时间
        System.out.println("======================");
        Date date = new Date(System.currentTimeMillis() - (1000*60*60*24));//通过传递一个昨天获的时间戳,得到昨天时间
        System.out.println(date);//昨天的时间
    }
}

运行结果:
在这里插入图片描述

getTime()和setTime

getTime:获取一个时间戳
setTime:传递的时间戳,设置时间对象

package com.itxs.demo04;

import java.util.Date;

/**
 * @Classname : demo08
 * @Description : TODO date类方法
 * @Author : lin_refuel@qq.com
 */
public class demo08 {
    public static void main(String[] args) {
        Date date = new Date();
        //获取时间戳的两种方式
        //方式1 getTime
        System.out.println(date.getTime());
        //方式2 System.currentTimeMillis()
        System.out.println(System.currentTimeMillis());
        System.out.println("===============================");
        System.out.println(date); //今天的时间
        //setTime的使用方式,初始化时间,初始化为明天的时间
        date.setTime(date.getTime() + (1000*60*60*24));
        System.out.println(date);//明天的时间
    }
}

运行结果:
在这里插入图片描述

SimpleDateFormat

方法名说明
public SimpleDateFormat()使用默认时间格式
public SimpleDateFormat(String pattern)使用指定的时间格式

使用方式

demo:

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

/**
 * @Classname : demo09
 * @Description : TODO SimpleDateFormat的使用
 * @Author : lin_refuel@qq.com
 */
public class demo09 {
    public static void main(String[] args) throws ParseException {
        //设置时间格式的对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日-E-a-HH点--mm分--ss秒");
        //获取当前时间对象
        Date date = new Date();
        //调用format方法,获取的时间转成字符串
        String format = sdf.format(date);
        System.out.println(format);//输出时间
        System.out.println("==========================");
        //使用指定的时间格式的字符串,转成一个Date对象
        String time = "2023年12月09日-星期六-下午-20点--04分--44秒"; //日期字符串
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日-E-a-HH点--mm分--ss秒");
        Date parse = sdf2.parse(time);//把一个时间的字符串变成了date对象
        System.out.println(parse);//输出parse对象
    }
}

运行结果:
在这里插入图片描述

SimpleDateFormat格式转换

时间类型对象转成字符串,指定格式的字符串转成Date类对象

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

/**
 * @Classname : demo10
 * @Description : TODO SimpleDateFormat 格式转换
 * @Author : lin_refuel@qq.com
 */
public class demo10 {
    /**
     * 将时间对象,转换成为一个指定格式的字符串
     * @param data 被转换目标对象
     * @param str  转换目标的格式
     * @return 被转换的目标对象的字符串
     */
     private static String DateToString(Date data,String str){
         SimpleDateFormat sdf = new SimpleDateFormat(str);//设置指定格式
          return sdf.format(data);
     }

    /**
     * 指定样式时间字符串转换成Date对象
     * @param str2 被转换的时间字符串
     * @param str 时间字符串样式
     * @return Date对象
     */
     private static Date StringToDate(String str,String str2) throws ParseException {
         SimpleDateFormat sdf = new SimpleDateFormat(str);
         return sdf.parse(str2);

     }
    public static void main(String[] args) throws ParseException {
        //输出Date转指定样式字符串
        System.out.println(DateToString(new Date(),"yyyy年MM月dd日 EEEE ahh:mm"));
        //将指定字符串转成时间对象
        System.out.println(StringToDate("yyyy年MM月dd日 EEEE ahh:mm","2023年12月09日 星期六 下午09:05"));
    }
}

运行结果:
在这里插入图片描述

日历类Calendar

获取Calendar里面属性

import java.util.Calendar;

/**
 * @Classname : demo11
 * @Description : TODO Calendar
 * @Author : lin_refuel@qq.com
 */
public class demo11 {
    public static void main(String[] args)  {
         Calendar calendar = Calendar.getInstance();
         //获取里面的属性
        System.out.println(calendar.get(Calendar.YEAR)); //年
        System.out.println(calendar.get(Calendar.MONTH));//月份
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//该月份的第几天
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//该年份的第几天
    }
}

运行结果:
在这里插入图片描述

Calendar案例

3个常用的方法

方法名说明
public int get(int field)返回给定字段的值
public abstract void add(int field, int amount)根据日历规则,将指定的时间量添加或减去给定的日历字段
public final void set(int year, int month, int date)是指当前日历的年月日

demo:

/**
 * @Classname : demo12
 * @Description : TODO Calendar的应用
 * @Author : lin_refuel@qq.com
 */
public class demo12 {
    public static void main(String[] args) {
        //创建一个Calendar类对像
        Calendar cl = Calendar.getInstance();
        //通过get方法的返回给定字段的值
        int year = cl.get(Calendar.YEAR);//年份
        int month = cl.get(Calendar.MONTH)+1;//月份
        int date = cl.get(Calendar.DATE);//日期
        System.out.printf("%d年%d月%d日\n",year,month,date);
        System.out.println("===============================");
        //调用add方法,根据日历规则,将指定的时间量添加或减去给定的日历字段
        cl.add(Calendar.YEAR,1);// 年份+1
        cl.add(Calendar.MONTH,1);//月份+1
        cl.add(Calendar.DATE,1);//日期+1
         year = cl.get(Calendar.YEAR);//年份
         month = cl.get(Calendar.MONTH)+1;//月份
         date = cl.get(Calendar.DATE);//日期
        System.out.printf("%d年%d月%d日\n",year,month,date);
        System.out.println("===================================");
        //set方法重置时间
        cl.setTime(new Date());
        year = cl.get(Calendar.YEAR);//年份
        month = cl.get(Calendar.MONTH)+1;//月份
        date = cl.get(Calendar.DATE);//日期
        System.out.printf("%d年%d月%d日\n",year,month,date);
    }
}

运行结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值