日期的使用(一)

#JDK8之前的传统日期、时间#

Date    

package date_use;

import java.util.Date;

public class Test1Date {
    public static void main(String[] args) {
        // 目标:掌握Date日期类的使用
        //1.创建一个Date的对象:代表系统当前时间日期
        Date d = new Date();
        System.out.println(d);

        //2.拿到时间毫秒值
        long time = d.getTime();
        System.out.println(time);

        //3.把时间毫秒值转化成日期对象:2s之后的时间是多少
        time += 2 *1000;
        Date d2 = new Date(time);
        System.out.println(d2);

        //4.直接把日期对象的时间通过setTime方法进行修改
        Date d3 = new Date();
        d3.setTime(time);
        System.out.println(d3);

    }

}

    SimpleDateFormat    

package date_use;

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

public class Test2SimpleDateFormat {
    public static void main(String[] args) throws ParseException {
        //目标:掌握SimpleDateFormat的使用
        //1.准本一些时间
        Date d = new Date();
        System.out.println(d);

        long time = d.getTime();
        System.out.println(time);

        //2.格式化日期对象,和时间 毫秒值
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss EEE a");

        String rs = sdf.format(d);
        System.out.println(rs);
        String rs2 = sdf.format(time);
        System.out.println(rs2);
        System.out.println("---------");

        //目标:掌握SimpleDateFormat解析字符串时间 成为日期对象
        String dataStr = "2022-12-12 12:12:11";
        //1.创建简单日期格式化对象,指定的时间格式必须与被解析的时间格式一模一样,否则程序会出bug
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d2 = sdf2.parse(dataStr);
        System.out.println(d2);


    }

}

 秒杀案例

package date_use;

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

public class Test3 {
    public static void main(String[] args) throws ParseException {
        //目标:完成秒杀案例
        // 1.把开始时间,结束时间,小贾下单时间,小皮下单时间拿到程序中来
        String start = "2023年11月11日 0:0:0";
        String end = "2023年11月11日 0:10:0";
        String xj = "2023年11月11日 0:01:18";
        String xp = "2023年11月11日 0:10:57";

        //2.把字符串的时间解析成日期对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        Date startDt = sdf.parse(start);
        Date endDt = sdf.parse(end);
        Date xjDt = sdf.parse(xj);
        Date xpDt = sdf.parse(xp);

        //3.开始判断小皮和小贾是否秒杀成功
        // 把日期对象转换成时间毫秒值来判断
        long startTime = startDt.getTime();
        long endTime = endDt.getTime();
        long xjTime = xjDt.getTime();
        long xpTime = xpDt.getTime();

        if (xjTime >= startTime && xjTime <= endTime){
            System.out.println("小贾您秒杀成功了");

        }else{
            System.out.println("小贾您秒杀失败了");
        }

        if (xpTime >= startTime && xpTime <= endTime){
            System.out.println("小皮您秒杀成功了");

        }else{
            System.out.println("小皮您秒杀失败了");
        }



    }
}

 Calendar

package date_use;

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

public class Test4Calendar {
    public static void main(String[] args) {
        //Calendar 是一个接口,不能直接创建对象
        // 代表系统此刻时间对应的日历,通过他可以单独获取,修改时间中的年,月,日,时分秒等
        // 掌握Calendar的使用和特点
        //1.得到系统此刻时间对应的日历对象
        Calendar now =  Calendar.getInstance();
        System.out.println(now);

        //2.获取日历的某个信息
        int year = now.get(Calendar.YEAR);
        System.out.println(year);

        int days = now.get(Calendar.DAY_OF_YEAR);
        System.out.println(days);

        //3.拿到日历中记录的日期对象
        Date d = now.getTime();
        System.out.println(d);

        //4.拿到时间毫秒值
        long time = now.getTimeInMillis();
        System.out.println(time);

        //5.修改日历中的某个信息
        now.set(Calendar.MONTH,9);// 修改月份成为10月份
        now.set(Calendar.DAY_OF_YEAR,125);//修改成一年的第125天
        System.out.println(now);
        
        //6.为某个信息增加或者减少多少
        now.add(Calendar.DAY_OF_YEAR,100);
        now.add(Calendar.DAY_OF_YEAR,-10);
        System.out.println(now);


    }



}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值