JDK7 SimpleDateFormat类

JDK7 SimpleDateFormat类

SimpleDateFormat的作用
  • 格式化:把时间变成我们喜欢的格式。

  • 解析:把字符串表示的时间变成Date对象。

构造方法

利用空参构造创建SimpleDateFormat对象,格式化时间

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

public class JDK7_SimpleDateFormat {
    public static void main(String[] args){

        // 利用空参构造创建SimpleDateFormat对象,默认格式
        SimpleDateFormat sdf = new SimpleDateFormat();
        // 创建一个时间原点
        Date d = new Date(0L);
        // 将时间格式化
        String str = sdf.format(d);

        System.out.println(str);

    }
}
输出结果
"C:\Program Files\Java\jdk-17.0.5\bin\java.exe" "-javaagent:E:\IntelliJ IDEA 2021.1.3\lib\idea_rt.jar=62122:E:\IntelliJ IDEA 2021.1.3\bin" -Dfile.encoding=UTF-8 -classpath E:\JAVA_Code\test\out\production\test;E:\JAVA_Code\test\ilb\gson-2.6.2.jar JDK7_SimpleDateFormat
1970/1/1 上午8:00

可以看到时间被默认格式化了


利用带参构造创建SimpleDateFormat对象,指定格式

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

public class JDK7_SimpleDateFormat {
    public static void main(String[] args){

        // 利用带参构造创建SimpleDateFormat对象,指定格式化格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        // 创建一个时间原点
        Date d = new Date(0L);
        // 使用.format方法传入要格式化的时间
        String format = sdf.format(d);
        // 打印
        System.out.println(format);
    }
}

解析字符串,将字符串变成时间

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

public class JDK7_SimpleDateFormat {
    public static void main(String[] args) throws ParseException {

        // 定义一个字符串
        String str = "2023-11-11 11:11:11";
        // 创建一个SimpleDateFormat对象,指定格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 解析字符串并且返回时间
        Date parse = sdf.parse(str);
        // 打印结果
        System.out.println(parse);
    }
}
输出结果
"C:\Program Files\Java\jdk-17.0.5\bin\java.exe" "-javaagent:E:\IntelliJ IDEA 2021.1.3\lib\idea_rt.jar=50549:E:\IntelliJ IDEA 2021.1.3\bin" -Dfile.encoding=UTF-8 -classpath E:\JAVA_Code\test\out\production\test;E:\JAVA_Code\test\ilb\gson-2.6.2.jar JDK7_SimpleDateFormat
Sat Nov 11 11:11:11 CST 2023

练习:按照指定格式展示

假设:你初恋的出生年月日为:2000-11-11,请用字符串表示这个数据,并且将其转换为:2000年11月11日

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

public class JDK7_SimpleDateFormat {
    public static void main(String[] args) throws ParseException {

        // 定义字符串为生日年月日
        String str = "2000-11-11";

        // 创建带参构造SimpleDateFormat对象,指定格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        // 解析为时间
        Date d = sdf.parse(str);
        // 再次创建带参构造SimpleDateFormat对象,指定格式
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
        // 格式化时间
        String format = sdf2.format(d);
        // 打印结果
        System.out.println(format);

    }
}
输出结果
"C:\Program Files\Java\jdk-17.0.5\bin\java.exe" "-javaagent:E:\IntelliJ IDEA 2021.1.3\lib\idea_rt.jar=50691:E:\IntelliJ IDEA 2021.1.3\bin" -Dfile.encoding=UTF-8 -classpath E:\JAVA_Code\test\out\production\test;E:\JAVA_Code\test\ilb\gson-2.6.2.jar JDK7_SimpleDateFormat
2000年11月11日

练习:秒杀活动

需求:

肯打鸡现时1元秒杀时间为:2023年11月11日 0:0:0开始——2023年11月11日 0:10:0结束

  • 小暗的下单并付款时间为:2023年11月11日 0:10:00

  • 菈菈的下单并付款时间为:2023年11月11日 0:11:00

  • 用代码说明这两位同学有没有参加上秒杀活动?

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

public class JDK7_SimpleDateFormat {
    public static void main(String[] args) throws ParseException {

        // 定义秒杀开始时间
        String startstr = "2023年11月11日 0:0:0";
        // 定义秒杀结束时间
        String endstr = "2023年11月11日 0:10:0";
        // 定义小暗的下单并付款时间
        String xnstr = "2023年11月11日 0:01:0";
        // 定义菈菈的下单并付款时间
        String llstr = "2023年11月11日 0:11:0";

        // 创建带参SimpleDateFormat对象,指定格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        // 解析秒杀开始时间
        Date startdate = sdf.parse(startstr);
        // 解析秒杀结束时间
        Date enddate = sdf.parse(endstr);
        // 解析小暗下单并付款时间
        Date xndate = sdf.parse(xnstr);
        // 解析菈菈下单并付款时间
        Date lldate = sdf.parse(llstr);

        // 获取秒杀开始时间的毫秒值
        long starttime = startdate.getTime();
        // 获取秒杀结束时间的毫秒值
        long endtime = enddate.getTime();
        // 获取小暗下单并付款时间毫秒值
        long xntime = xndate.getTime();
        // 获取菈菈下单并付款时间毫秒值
        long lltime = lldate.getTime();

        // 判断小暗是否成功参加活动
        if (starttime < xntime && endtime > xntime){
            System.out.println("小暗参加秒杀活动成功");
        }else{
            System.out.println("小暗参加秒杀活动失败");
        }

        // 判断菈菈是否成功参加活动
        if (starttime < lltime && endtime > lltime){
            System.out.println("菈菈参加秒杀活动成功");
        }else{
            System.out.println("菈菈参加秒杀活动失败");
        }
    }
}
输出结果
"C:\Program Files\Java\jdk-17.0.5\bin\java.exe" "-javaagent:E:\IntelliJ IDEA 2021.1.3\lib\idea_rt.jar=51125:E:\IntelliJ IDEA 2021.1.3\bin" -Dfile.encoding=UTF-8 -classpath E:\JAVA_Code\test\out\production\test;E:\JAVA_Code\test\ilb\gson-2.6.2.jar JDK7_SimpleDateFormat
小暗参加秒杀活动成功
菈菈参加秒杀活动失败

总结

1.SimpleDateFormat的两个作用

  • 格式化

  • 解析

2.如何指定格式

  • yyyy年MM月dd日 HH:mm:ss

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值