java - 无法在 Java 中更改日历 DAY_OF_MONTH
问题描述
我在 Java 日历设置中有一个小问题。问题是我有这个代码,它返回"1980.09.12."
。
我可以随意更改年份和月份,但不能更改日期。
public class printableBeosztas extends HttpServlet {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd.");
Calendar calHetfo;
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
setDates();
response.getWriter().append(sdf.format(calHetfo.getTime());
}
public void setDates() {
calHetfo = Calendar.getInstance();
calHetfo.set(Calendar.MONTH, 8);
calHetfo.set(Calendar.YEAR, 1980);
calHetfo.set(Calendar.DAY_OF_MONTH, 3);
}
}
任何想法?
解决方案
如果您使用Java 8+ 的java.time API 会更容易,您可以在其中使用LocalDate.of
和设置任何您想要的东西:
LocalDate ld = LocalDate.of(1980, Month.SEPTEMBER, 12);
要格式化日期,您可以使用:
String format = ld.format(DateTimeFormatter.ofPattern("yyyy.MM.dd."));
推荐阅读
- docker - 在 docker 容器中运行 aws-cdk 会破坏 lambda 捆绑。无论如何,我如何使用 nodejs lambda 捆绑?
- html - CSS Flexbox 以 % 宽度包裹项目
- javascript - 一些人可以帮助我使用 Angularjs 使用 Syncfusion ej-angular 在形状中添加 HTML 元素
- nginx - 强制在 NGINX 中进行块传输以获取代理响应
- facebook - 将机器人与 Facebook 连接
- php - Laravel 在方法启动后有条件地添加全局范围
- android - 在 Jetpack Compose 中以编程方式获取和设置元素的位置
- igor - 如何在 Igor64 的过程中将波放入函数中
- oracle-apex - 用户更改页面时如何更改列值
- python - 当列表由字符串形式的数字组成时,为什么要设置的转换列表不尊重升序