0
点赞
收藏
分享

微信扫一扫

Java基础语法API之Date和SimpleDateFormat

一:概述

在实际开发中,Date类和SimpleDateFormat类是两个常用的时间类。在这里主要具体说一下Date时间类和SimpoleDateFormat类。

二:具体说明

<1>JDK文档中的介绍

《1》Date类

                        Java基础语法API之Date和SimpleDateFormat_键盘录入

《2》SimpleDateFormat类

                        Java基础语法API之Date和SimpleDateFormat_System_02

                        Java基础语法API之Date和SimpleDateFormat_System_03

                        Java基础语法API之Date和SimpleDateFormat_键盘录入_04

<2>具体代码案例

/*
    构造方法:
        Date():分配 Date对象并对其进行初始化,使其表示分配时间,测量 Date到毫秒
        Date(long date):分配 Date对象并初始化它以表示自标准基准时间以来的指定毫秒数,即1970年1月1日00:00:00
 */
               // Date() 分配 Date对象并对其进行初始化,使其表示分配时间,测量Date到毫秒
               Date d1 = new Date();
               System.out.println(d1);

               // Date(long date) 分配 Date对象并初始化它以表示自标准基准时间以来的指定毫秒数,即1970年1月1日00:00:00
               Date d2 = new Date(1000 * 60 * 60 * 60);
               System.out.println(d2);

                        Java基础语法API之Date和SimpleDateFormat_字符串_05


/*
    构造方法
        SimpleDateFormat():构造一个SimpleDateFormat,使用默认模式和日期格式
        SimpleDateFormat(String pattern):构造一个SimpleDateFormat使用给定的模式和默认的日期格式

    格式化(从 Date 到 String )
        String format(Date date):将日期格式化成日期/时间字符串

    解析(从 String 到 Date )
        Date parse(String source):从给定字符串的开始解析文本以生成日期
 */
        // 格式化从date---->String
        // 1.获取目前的时间对象
        Date now = new Date();

        //  SimpleDateFormat():构造一个SimpleDateFormat,使用默认模式和日期格式
        SimpleDateFormat sdf1 = new SimpleDateFormat();
        // 格式化 String format(Date date):将日期格式化成日期/时间字符串
        String s1 = sdf1.format(now);
        System.out.println(s1);
        // SimpleDateFormat(String pattern):构造一个SimpleDateFormat使用给定的模式和默认的日期格式 
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:MM:ss");
        String s2 = sdf2.format(now);
        System.out.println(s2);
        System.out.println("==============================");
        
        
        // 解析:从String---->Date
        // Date parse(String source):从给定字符串的开始解析文本以生成日期
        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");
        String s3 = "2024-5-1 12:00:00";
        Date futureTime = sdf3.parse(s3);
        System.out.println(futureTime);
        
    }
}

                        Java基础语法API之Date和SimpleDateFormat_键盘录入_06

<3>应用案例1:键盘录入女朋友生日案例

/*
     假设,现在需要做一个系统,通过键盘录入女朋友的生日时间,字符串例如:1989-12-13
     在这里假设输入的都是符合格式的字符串,异常字符串不考虑在内
    并将其转换为:1989年12月13日

     创建一个Date对象表示2000年11月11日
     创建一个SimpleDateFormat对象,并定义格式为年月日把时间变成:2000年11月11日
*/
   // 1.创建键盘录入对象
     Scanner sc = new Scanner(System.in);
     // 2.用户键盘录入女朋友的生日
     System.out.println("请输入您女朋友的生日,格式为:1989-12-13");
     String birthdayString = sc.next();

     // 3.创建SimpleDateFormat对象,并将其解析格式设为:yyyy年MM月dd日
     SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
     // 利用解析方法将录入的生日字符串转换为时间
     Date birthdayTime = sdf1.parse(birthdayString);

     // 再次创建SimpleDateFormat对象,进行格式化
     SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
     String birthday = sdf2.format(birthdayTime);
      // 打印格式化后的生日
     System.out.println(birthday); 
            }

                        Java基础语法API之Date和SimpleDateFormat_键盘录入_07

<4>秒杀活动案例

public static void main(String[] args) { 
秒杀活动开始时间:2023年11月12日 0:0:0(毫秒值)
            秒杀活动结束时间:2023年11月12日 0:10:0(毫秒值)
            下单并付款的时间为:2023年11月12日 0:01:0
              //1.定义字符串表示三个时间
        String startstr = "2023年11月12日 0:0:0";
        String endstr = "2023年11月12日 0:10:0";
        String orderstr = "2023年11月12日 0:01:00";
//2.解析上面的三个时间,得到Date对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
        Date startDate = sdf.parse(startstr);
        Date endDate = sdf.parse(endstr);
        Date orderDate = sdf.parse(orderstr);

//3.得到三个时间的毫秒值
        long startTime = startDate.getTime();
        long endTime = endDate.getTime();
        long orderTime = orderDate.getTime();

//4.判断
        if (orderTime >= startTime && orderTime <= endTime) {
            System.out.println("参加秒杀活动成功");
        } else {
            System.out.println("参加秒杀活动失败");
        }

    }        






举报

相关推荐

0 条评论