java.text.SimpleDateFormat (日期)

前言:

小编最近让流感折磨的快嘎啦,

呜呜呜,拖更了俩天,

从明天开始我们继续日更!!!!

我们一直都是以这样的形式,让新手小白轻松理解复杂晦涩的概念,

把Java代码拆解的清清楚楚,每一步都知道他是怎么来的,

为什么用这串代码关键字,对比同类型的代码,

让大家真正看完以后融会贯通,举一反三,实践应用!!!!


①官方定义  和  大白话拆解对比

②举生活中常见贴合例子、图解辅助理解的形式

③对代码实例中关键部分进行详细拆解、总结



给小编一个赞或者关注吧,我们一起进步!!

一、java.text.SimpleDateFormat 

官方语言:

  • java.text.SimpleDateFormat 类是 Java 标准库的一部分,用于以一种不依赖于具体语言环境的方式来格式化和解析日期。
  • 它允许用户通过指定日期和时间的模式来转换 Date 对象与符合该模式的字符串之间的转换。

构造方法:

  • SimpleDateFormat(): 使用默认的格式和语言环境创建一个新的 SimpleDateFormat 实例。
  • SimpleDateFormat(String pattern): 根据提供的日期时间模式创建一个新的 SimpleDateFormat 实例。

格式化:

  • public String format(Date date): 将一个 Date 对象按照实例化的模式转换为字符串形式。

解析:

  • public Date parse(String source): 将一个符合当前实例模式的字符串解析为一个 Date 对象。


大白话拆解:

  • 现在有一个特别的翻译机,这个机器可以将“日期”变成我们能看懂的文字(比如:2025年1月15日星期三),也可以把文字再变回日期的形式。在Java中,这个神奇的机器就是 SimpleDateFormat 类。
  • 如果你告诉这台机器一个特殊的规则(比如:"yyyy-MM-dd" 表示年-月-日),它就可以根据这个规则工作。
  • 当你想把一个日期转成特定格式的文本,就使用 .format() 方法。
  • 如果有一段描述日期的文字,并且你知道它的格式,就可以用 .parse() 方法把这个文字转回日期类型。

举个栗子:

1、格式化的例子

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

public class Main {
    public static void main(String[] args) {
        // 创建一个SimpleDateFormat对象,指定格式
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 E");
        
        // 获取当前日期时间
        Date currentTime = new Date();
        
        // 将日期格式化为字符串
        String dateString = formatter.format(currentTime);
        
        // 输出格式化后的日期字符串
        System.out.println(dateString); // 输出类似于 "2025年01月15日 星期三"
    }
}

1.2代码解释和总结:

1、导入需要的包:

import java.text.SimpleDateFormat;
import java.util.Date;
  • 这两行代码告诉Java我们需要使用SimpleDateFormat和Date这两个类。
  • 它们就像是你做饭时需要的工具和材料一样重要。

2、创建一个SimpleDateFormat对象,指定格式:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 E");
  • 这里我们创建了一个叫做formatter的新工具(对象),这个工具专门用来把日期变成特定样子的文字。这里的"yyyy年MM月dd日 E"就是我们要的样式模板,比如“2025年01月15日 星期三”。

3、获取当前日期时间:

Date currentTime = new Date();
  • 使用之前创建的formatter工具,按照我们设定的格式("yyyy年MM月dd日 E"),将currentTime转换成文字形式,并存储在dateString变量中。

4、将日期格式化为字符串:

String dateString = formatter.format(currentTime);
  • 使用之前创建的formatter工具,按照我们设定的格式("yyyy年MM月dd日 E"),将currentTime转换成文字形式,并存储在dateString变量中。

5、输出格式化后的日期字符串

System.out.println(dateString); // 输出类似于 "2025年01月15日 星期三"
  • 最后,这行代码将格式化后的日期文本打印出来,显示在屏幕上,就像你在纸上写下今天的日期一样。

2、解析的例子:

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

public class Main {
    public static void main(String[] args) {
        try {
            // 创建一个SimpleDateFormat对象,指定格式
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
            
            // 字符串表示的日期
            String dateInString = "2025-01-15";
            
            // 将字符串解析为日期对象
            Date date = formatter.parse(dateInString);
            
            // 输出解析后的日期对象
            System.out.println(date); // 输出类似于 "Wed Jan 15 00:00:00 CST 2025"
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

2.2代码解释和总结:

1、导入需要的包

2、创建一个SimpleDateFormat对象,指定格式:

(这俩个和第一个例子差不多,咱们就不多说了)

3、字符串表示的日期

String dateInString = "2025-01-15";
  • 这是一个代表日期的字符串,形式为"2025-01-15",意味着2025年1月15日。你可以把它想象成一张写有日期的小纸条。

4、将字符串解析为日期对象

Date date = formatter.parse(dateInString);
  • 使用formatter这个工具,根据设定的模式("yyyy-MM-dd"),将字符串dateInString("2025-01-15")转换为一个Date对象,这样计算机就能识别并处理这个日期了。
  • 这就像是把小纸条上的日期信息输入到你的万能翻译机中,让它变成机器能够理解的日期形式。

5、输出解析后的日期对象

System.out.println(date); // 输出类似于 "Wed Jan 15 00:00:00 CST 2025"
  • 最后,这行代码将解析得到的Date对象打印出来,显示在屏幕上。
  • 由于Date对象的标准输出格式与我们输入的格式不同,所以你会看到类似"Wed Jan 15 00:00:00 CST 2025"这样的输出,包含了星期几、月份的英文缩写、具体的日期、具体的时间以及时区信息。

6、捕获可能发生的解析错误:

catch (ParseException e) {
    e.printStackTrace();
}
  • 如果提供的日期字符串不符合设定的格式(比如"yyyy-MM-dd"),就会发生错误。
  • 这部分代码是用来捕捉这种错误,并打印错误信息,帮助开发者了解哪里出了问题。
  • 这就像如果你给了翻译机一张无法读懂的纸条,它会告诉你“对不起,我读不懂这个”。

二、java.util.Calendar(日历)

官方语言

  • Date类的大部分API由于设计上的缺陷已经被标记为废弃(deprecated),推荐使用Calendar类来代替。
  • Calendar是一个抽象类,主要用于日期和时间字段的操作,比如获取、设置年月日时分秒等信息。通过调用Calendar.getInstance()方法可以获取一个Calendar对象的实例,该方法会根据当前的默认时区和语言环境初始化实例。

大白话拆解

  • 以前有一个旧的工具箱(Date类),里面有很多工具,但是这些工具很多都不太好用了,所以人们决定制作一个新的更好的工具箱(Calendar类)。
  • 这个新工具箱可以帮助我们更方便地操作时间,比如查看今天是哪一年、哪一月、星期几等等。
  • 要开始使用这个新的工具箱,你只需要说一声“给我一个工具箱”,然后它就会给你准备好一个装满各种工具的箱子(Calendar.getInstance()方法)。

举个栗子:

import java.util.Calendar;

public class Main {
    public static void main(String[] args) {
        // 获取Calendar的一个实例
        Calendar calendar = Calendar.getInstance();
        
        // 输出当前日期的一些基本信息
        System.out.println("年: " + calendar.get(Calendar.YEAR));
        System.out.println("月: " + (calendar.get(Calendar.MONTH) + 1)); // 注意:月份从0开始计数
        System.out.println("日: " + calendar.get(Calendar.DAY_OF_MONTH));
        System.out.println("星期几: " + calendar.get(Calendar.DAY_OF_WEEK)); // 星期天是第一天
    }
}

代码解释和总结:

1、导入需要的包(和前面一样,省略了吧)

2、获取Calendar的一个实例

Calendar calendar = Calendar.getInstance();
  • 这里我们通过调用Calendar.getInstance()方法获取了一个Calendar对象的实例,并命名为calendar。
  • 这就像是从我们的工具箱中拿出了一套完整的工具,准备开始工作。这套工具可以帮助我们查看和修改当前的日期和时间信息。

3、输出当前日期的一些基本信息:

年份:

System.out.println("年: " + calendar.get(Calendar.YEAR));

月份:

System.out.println("月: " + (calendar.get(Calendar.MONTH) + 1)); // 注意:月份从0开始计数

日:

System.out.println("日: " + calendar.get(Calendar.DAY_OF_MONTH));

星期几:

System.out.println("星期几: " + calendar.get(Calendar.DAY_OF_WEEK)); // 星期天是第一天



我们今天就先到这里,下次见吧!!!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值