java - 如何从具有 2 个字符输出的日期字符串中获取周数
问题描述
我可以使用以下代码将输出作为weekNumber: Int = 1。但是我的用例需要输出为 weekNumber: String= 01。解决此问题的最佳有效方法应该是什么?
import java.time.format.DateTimeFormatter
import java.time.temporal.WeekFields
import java.util.Locale
import java.time.LocalDate
var dateRangeFrom = "20200101"
var date :java.time.LocalDate = LocalDate.parse(dateRangeFrom,DateTimeFormatter.ofPattern("yyyyMMdd"))
var weekFields :WeekFields = WeekFields.of(Locale.getDefault());
var weekNumber :Int = date.get(weekFields.weekOfWeekBasedYear());
输出 - weekNumber: Int = 1
解决方案
您可以将 DateTimeFormatter 与模式一起使用ww
:
var weekFormat = DateTimeFormatter.ofPattern("ww");
var weekNumber = weekFormat.format(date);
“w”是一年中的第几周,“ww”是一年中的第几周,有两位数(零填充)。您可以在 API 文档中查看格式化代码列表。 https://docs.oracle.com/javase/10/docs/api/java/time/format/DateTimeFormatter.html
推荐阅读
- pddl - PDDL 如何为多个谓词分配编号
- php - 根据用户角色向未登录用户显示 WooCommerce 折扣的可能折扣
- javascript - 有没有一种简单的方法来提及所有 Discord 用户的角色?
- sql - oracle sql:“获取或插入”存储过程
- python - list_filter 以选择作为值
- javascript - 我试图通过改变宽度来隐藏数组中的所有元素。在函数内部使用了 setInterval 但它只对最后一个元素正确运行
- prolog - Prolog:查找并放入列表中的重复项
- c++ - 将彩色文本绘制到 c++ win32
- java - 如何在 JAVA 中从 Azure Functions 中引用文件?
- excel - 将不同的工作表合并为具有相同结构的工作表