JAVA中,日期格式化YYYY 与yyyy区别

在java中我们时常会使用到日期格式化,例如“YYYY-MM-dd”、“yyyy-MM-dd”

今天我们来看一下大写Y与小写y有什么不同。

先总结:尽量使用小写y来表示年份。

我们直接来看代码

1.将日期设置成2023年12月31日,并且分别使用大写Y和小写y进行格式化打印;

2.结果

我们惊讶的发现,同一天打印出来的结果竟然不一致。

中间整整跨越了一年。

原因:

“YYYY”表示的是Week year,就是这天所在的周所属的年。而每年的第一周是怎么定义的呢。

ISO 8601中给出了定义:本年第一个周四所在的那一个星期。

按照日历我们可以发现,2024年的第一个周四是一月四号,而一周的第一天是周日,2023年的12月

31日刚好是2024年的第一周的周日。所以YYYY将2023年12月31日算在了2024年;

小写yyyy表示的就是年份。

所以在日常代码中我们使用小写y来格式化。以防止发生bug。

### 回答1: 在 Java ,你可以使用 SimpleDateFormat 类来格式化日期。以 "yyyy-MM-dd" 为例,你可以这样写: ``` SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String formattedDate = dateFormat.format(new Date()); System.out.println("Formatted date: " + formattedDate); ``` 上面的代码创建了一个 SimpleDateFormat 对象,并将 "yyyy-MM-dd" 作为模式(pattern)传入。接着,使用 format() 方法格式化当前日期,最后将格式化后的日期打印出来。 ### 回答2: java日期格式化可以通过SimpleDateFormat类来实现,具体的格式化字符串为"yyyy-MM-dd",其: - yyyy表示年份,四位数表示,例如2020; - MM表示月份,两位数表示,例如01表示一月; - dd表示日期,两位数表示,例如01表示第一天。 下面是一个简单的示例代码: ``` import java.text.SimpleDateFormat; import java.util.Date; public class DateFormatExample { public static void main(String[] args) { // 获取当前日期 Date date = new Date(); // 创建日期格式化对象 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 格式化日期 String formattedDate = sdf.format(date); // 输出格式化后的日期 System.out.println("当前日期:" + formattedDate); } } ``` 以上代码会输出当前日期的格式化结果,例如:"当前日期:2020-01-01"。这样就实现了将日期按照指定格式进行格式化的操作。 ### 回答3: Java日期格式化可以使用SimpleDateFormat类来实现。具体的格式化模式可以使用"yyyy-MM-dd"来表示年份-月份-日期的格式。下面是一个示例代码: ```java import java.text.SimpleDateFormat; import java.util.Date; public class DateFormatExample { public static void main(String[] args) { // 获取当前日期 Date currentDate = new Date(); // 创建SimpleDateFormat对象,指定日期格式 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); // 使用SimpleDateFormat对象格式化日期 String formattedDate = dateFormat.format(currentDate); // 输出格式化后的日期 System.out.println("当前日期的格式化结果为:" + formattedDate); } } ``` 以上代码会输出当前日期的格式化结果,例如2022-01-01。 通过使用SimpleDateFormat类,我们可以根据自己的需求来格式化日期,使用不同的格式模式来获得所需的日期格式。在这个例子,我们使用"yyyy-MM-dd"格式来表示年份-月份-日期的形式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值