Java日期操作方法大全

欣喜 Java经验 发布时间:2025-02-05 10:29:14 阅读数:14855 1
下文笔者讲述java日期操作方法大全,如下所示
使用DateFormat类及子类SimpleDateFormat
    即可对日期进行操作

日期转换、格式化

日期格式化——DateFormat/SimpleDateFormat

DateFormat 是日期/时间格式化子类的抽象类。其子类(如 SimpleDateFormat)能够进行格式化(也就是日期→文本)、解析(文本→日期)和标准化日期。

在创建 DateFormat 对象时不能使用 new 关键字,而应该使用 DateFormat 类中的静态方法 getDateInstance(),示例代码如下:

    // Date和字符串相互转化(字符串转换为Date类型时,有汉字的字符串可以使用0或1模式,没汉字的可以使用默认、2、3模式)
    // 默认格式化模式
    //    val df = DateFormat.getDateInstance()
    //    val str1 = df.format(new Date()) // 2025-11-11
    //    val date = df.parse("2025-11-11") // Thu Nov 11 00:00:00 CST 2025

    // 0代表的格式化模式
    //    val df = DateFormat.getDateInstance(0)
    //    val str1 = df.format(new Date()) // 2025年11月11日 星期四
    //    val date = df.parse("2025年11月11日 星期四") // Thu Nov 11 00:00:00 CST 2025

    // 1代表的格式化模式
    // val df = DateFormat.getDateInstance(1)
    // val str1 = df.format(new Date()) // 2025年11月11日
    // val date = df.parse("2025年11月11日 星期四") // Thu Nov 11 00:00:00 CST 2025

    // 2代表的格式化模式
    //    val df = DateFormat.getDateInstance(2)
    //    val str1 = df.format(new Date()) // 2025-11-11
    //    val date = df.parse("2025-11-11") // Thu Nov 11 00:00:00 CST 2025

    // 3代表的格式化模式,无其他模式
    //    val df = DateFormat.getDateInstance(3)
    //    val str1 = df.format(new Date()) // 21-11-11
    //    val date = df.parse("2025-11-11") // Thu Nov 11 00:00:00 CST 2025

    // SimpleDateFormat使用
    val sf = new SimpleDateFormat("yyyy-MM-dd")
    val date = sf.parse("2025-11-11") // Thu Nov 11 00:00:00 CST 2025
    val str = sf.format(new Date()) // 2025-11-11

    val sf2 = new SimpleDateFormat("yyyyMMdd")
    val date1 = sf2.parse("20251111") // Thu Nov 11 00:00:00 CST 2025
    val str1 = sf2.format(new Date()) // 20251111

    // 给定一个月的其中一个日期,获取所在月的第一天和最后一天
    val cal = Calendar.getInstance()
    cal.setTime(date1)
    cal.set(Calendar.DAY_OF_MONTH, 1) // 变换第二个参数获取月的相应的第几天,但这种写法会和roll()方法相互干涉
    println(new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime())) // 月第一天 2025-11-01
    cal.roll(Calendar.DAY_OF_MONTH, -1)
    println(new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime())) // 月最后一天 2025-11-30
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202502/17387236238277.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者