java - 如何在 Java 中设置结束日期?

标签 java date calendar textfield

<分区>

我正在尝试设置成员(member)系统,并希望实现开始和结束日期。我想我已经成功地实现了开始日期,但是,我在到期日期(1 年后)方面遇到了困难。到期时间应该存储在 String 文本字段中,因此需要对其进行转换。但是,在编译时,出现了一个 NullPointerException

center.add(createLabel("Membership Date Created"));
center.add(memDateCreatedTxtFld);
SimpleDateFormat sdf = new SimpleDateFormat ("E yyyy/MM/dd");
Date date = new Date();
memDateCreatedTxtFld.setText(sdf.format(date));

center.add(createLabel("Membership Date Expiry"));
Calendar cal = Calendar.getInstance();
Date today = cal.getTime();
cal.add(Calendar.YEAR, 1);
Date nextYear = cal.getTime();
String reportDate = sdf.format(nextYear);
memDateExpiryTxtFld.setText(reportDate);
center.add(memDateExpiryTxtFld);

例如,由于今天是 2019/02/01,因此到期时间应该是 2020/02/01。

最佳答案

首先 java.util.Date 已经过时了,尝试使用 java.time.* 代替。

要将一年添加到特定日期,您可以使用:

import java.time.LocalDate;

LocalDate expirationDate = LocalDate.now().plusYears(1);

和格式:

import java.time.format.DateTimeFormatter;

DateTimeFormatter formatter = new DateTimeFormatter.ofPattern("E yyyy/MM/dd");
String formattedDate = expirationDate.format(formatter)

关于java - 如何在 Java 中设置结束日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54487726/

相关文章:

java - 计算曼哈顿距离

command-line - 如何从命令行更改日期格式?

angularjs - 如何使用 "controller as"语法通过 AngularJS ui-calendar 获取日历对象?

Java日历添加不递增年份

java - 使用java压缩文件夹结构

java - 如何使用 Google Analytics 跟踪 java servlet 请求

mysql - 获取日期范围内每个缺失的日期

java - 安卓日历: Get to the future day

reactjs - 您应该为react-big-calendar 创建自定义eventWrapper 组件吗?

java - XML 属性值规范化 - 应如何处理实体中的空格?