时间格式转换在格式化后日期年份变成下一年

这篇博客讨论了一个编程问题,即在使用`SimpleDateFormat`将`Date`转换为字符串时,错误地使用了`YYYY`导致年度显示为下一年。`YYYY`代表基于周的年份,而应当使用`yyyy`或`uuuu`来获取常规的年份。作者通过实例解释了这一错误并提出了正确的解决方案。
摘要由CSDN通过智能技术生成
public static String DateToString(Date date, String pattern)
			throws Exception {
		String strDateTime = null;
		try {
			java.text.SimpleDateFormat formater = new java.text.SimpleDateFormat(
					pattern);
			strDateTime = formater.format(date);
		} catch (Exception ex) {
			throw ex;
		}
		return strDateTime;
	}

2021-12-27使用时间工具date转String,结果年度变成下一年2022。
原因:DateFormater.DateToString(date, "YYYY-MM");
格式转换年度使用了YYYY。
从 DateTimeFormatter : ,表示符号、含义和示例:
基于Y周的1996年;
所以你是按周编排年份,而不是按常规年份。2021年12月27日属于2022年第一周。
使用 yyyy (纪年)或 uuuu (年)而不是 YYYY 你会得到2021年。
也就是,YYYY是代表基于周的年份代表。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值