API(时间_SimpleDateFormat)
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;
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hexo!