public class SimpleDateFormatDemo1 {
    public static void main(String[] args) throws ParseException {
        //作用:1.格式化 2.把字符串表示的时间对象变成Date对象
        /*
        public SimpleDateFormat()//默认格式
        public SimpleDateFormat(String pattern)//指定格式

        public final String format(Date date)  //格式化(日期对象->字符串)
        public Date parse(String source)   //解析(字符串->日期对象)
          */

        //空参构造创建对象
        SimpleDateFormat sdf1=new SimpleDateFormat();
        System.out.println(sdf1);//直接打印没意义
        Date d1=new Date(0L);
        String f1 = sdf1.format(d1);
        System.out.println(f1);//1970/1/1 08:00

        //使用带参构造创建对象
        SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        Date d2=new Date(0L);
        String f2 = sdf2.format(d2);
        System.out.println(f2);

        //定义一个字符串表示时间
        String str="2025-05-16 21:17:11";
        SimpleDateFormat sdf4=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d3 = sdf4.parse(str);//按指定格式解析返回Date数据
        System.out.println(d3);//Fri May 16 21:17:11 CST 2025
        long time=d3.getTime();
        System.out.println(time+"ms");//1747401431000ms


        //课堂练习
        //1.添加星期
        SimpleDateFormat sdf3=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EE");
        String f3 = sdf3.format(d2);
        System.out.println(f3);//1970年01月01日 08:00:00 周四

        //2.将2000-11-11转换为2000年11月11日
        String str1="2000-11-11";
        SimpleDateFormat sdf5=new SimpleDateFormat("yyyy-MM-dd");//要严格按照字符串原模式
        Date d5 = sdf5.parse(str1);
        SimpleDateFormat sdf6=new SimpleDateFormat("yyyy年MM月dd日");
        String s5= sdf6.format(d5);
        System.out.println(s5);//先原模式转变为date数据,再按另一个格式转换为相应的时间字符串

        //3.秒杀时间是2023年11月11日0:00:00,结束时间是2023年11月11日0:10:00
        //哈哈下单时间是2023年11月11日0:01:00,xiangxiang下单时间是2023年11月11日0:11:00 判断两人有没有秒杀成功
        //思路:将四个字符串转换为date数据,再getTime(),比较时间大小
        String start="2023年11月11日0:00:00";
        String end="2023年11月11日0:10:00";
        String hahaMiaosha="2023年11月11日0:01:00";
        String xiangxiangMiaosha="2023年11月11日0:11:00";
        SimpleDateFormat sdf10=new SimpleDateFormat("yyyy年MM月dd日H:mm:ss");
        Date dStart = sdf10.parse(start);
        Date dEnd = sdf10.parse(end);
        Date dHaha = sdf10.parse(hahaMiaosha);
        Date dXiangxiang = sdf10.parse(xiangxiangMiaosha);
        boolean haha=miaosha(dStart,dEnd,dHaha);
        boolean xiangxiang=miaosha(dStart,dEnd,dXiangxiang);
        System.out.print("haha秒杀:");
        System.out.println(haha);
        System.out.print("xiangxiang秒杀:");
        System.out.println(xiangxiang);
    }
    public static boolean miaosha(Date startDate, Date endDate, Date nowDate){
        long start=startDate.getTime();
        long end=endDate.getTime();
        long now=nowDate.getTime();
        if(now>=start && now<=end){
            return true;
        }
        return false;
    }
}