- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图将 datePicker 中的日期作为字符串保存到 mysql 表中。我使用 Javafx 场景生成器创建了 datePicker,但是当我尝试以字符串格式保存日期时,它返回此错误:
java.time.DateTimeException:无法从 TemporalAccessor 获取 LocalDateTime:2017-10-29 类型为 java.time.LocalDate
首先,我想将用户的输入数据添加到可观察列表中,然后将其显示在表格中给用户。之后,一旦用户完成添加他们想要的相关数据,我想将可观察列表数据插入到mysql数据库中。
我想以字符串的形式将 datePicker 数据添加到可观察列表中。
我的问题是如何将日期选择器的值更改为字符串并将其传递到可观察列表中。在我的代码中,我使用了 .getEditor().getText() 但它引发了上述错误。
我的日期选择器已标记
fromDateCreateTask
toDateCreateTask
数据库中T_startDate和T_endDate列的数据类型为varchar(50)。
这是我的代码:
void addTaskToTable(){
AllTaskData.add(new Task(
Integer.parseInt(taskNumberCreateTask.getText()),
taskNameCreateTask.getText(),
getProjectId(projectSelectedCombobox.getValue()),
taskStatusCreateTask.getText(),taskInformationCreateTask.getText(),
(String) teamHeadComboBoxCreateTask.getValue(),
fromDateCreateTask.getEditor().getText(),
toDateCreateTask.getEditor().getText(),
timeSpan()));
createTaskTable.setItems(AllTaskData);
taskNameCreateTask.clear();
fromDateCreateTask.getEditor().clear();
toDateCreateTask.getEditor().clear();
teamHeadComboBoxCreateTask.setValue("Team Lead");
taskInformationCreateTask.clear();
taskCount++;
taskNumberCreateTask.setText(Integer.valueOf(getTotalNumberOfTasks() + 1+taskCount).toString());
}
添加到mysql表:
public void createMultipleTasks() {
String sql = " insert into Task (T_id, T_name, P_projectCode, T_status, T_Description, T_lead,T_startDate,T_endDate,T_timespan)"
+ " values (?, ?, ?, ?, ?,?,?,?,?)";
try {
for(Task userTasks: AllTaskData){
int taskNumber = userTasks.getTaskNumber();
String taskName = userTasks.getTaskName();
String taskStatus = userTasks.getTaskStatus();
String taskDescription = userTasks.getTaskInformation();
String teamLead = userTasks.getTaskTeamMemberAssigned();
String startingDate = userTasks.getTaskFromDate();
String endingingDate = userTasks.getTaskToDate();
int taskcompletionTime = userTasks.getTaskTimeSpan();
int projectId = userTasks.getProjectCode();//getProjectId(projectSelectedCombobox.getValue());
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, taskNumber);
preparedStatement.setString(2, taskName);
preparedStatement.setInt(3, projectId);
preparedStatement.setString(4, taskStatus);
preparedStatement.setString(5, taskDescription);
preparedStatement.setString(6, teamLead);
preparedStatement.setString(7, startingDate);
preparedStatement.setString(8,endingingDate);
preparedStatement.setInt(9, taskcompletionTime);
try{
preparedStatement.execute();
}catch (Exception e) {
DBConnection.infoBox("Error Saving Data", "Fail", null);
e.printStackTrace();
}
}
try {
DBConnection.infoBox("Click ok to cancel this message", "Sucess", "Saving of tasks has been successfull");
} catch (Exception e) {
DBConnection.infoBox("Error Unable to Open View", "Fail", null);
e.printStackTrace();
}
} catch (Exception e) {
DBConnection.infoBox("Error Saving Data", "Fail", null);
e.printStackTrace();
}
}
调用函数:
@FXML
void handleAddNewTaskAction(ActionEvent event) {
if (taskNameCreateTask.getText()==null || taskNameCreateTask.getText()==" " || taskNameCreateTask.getText().isEmpty() ||
fromDateCreateTask.getValue() == null || toDateCreateTask.getValue() == null ||
teamHeadComboBoxCreateTask.getValue() == null || teamHeadComboBoxCreateTask.getValue().isEmpty() || teamHeadComboBoxCreateTask.getValue() == "Team Lead" ||
taskInformationCreateTask.getText() == null || taskInformationCreateTask.getText().isEmpty() || taskInformationCreateTask.getText() == " "
){
DBConnection.infoBox("Please enter text in missing fields", "Error Adding Data", "nil");
}else{
addTaskToTable();
}
}
最佳答案
在处理数据库日期时,您可以使用 java.sql.Date 或 java.sql.Timestamp。请引用下文。
public class JavaDateExceptionResolver {
public static void main(String[] args) throws ParseException {
dateIssueResolverType1("2017-10-29");
dateIssueResolverType2("2017-10-29");
}
private static Date dateIssueResolverType1(String input) throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date dt=sdf.parse(input);
java.sql.Date sqlDate=new java.sql.Date(dt.getTime());
System.out.println(sqlDate);
return sqlDate;
}
private static Timestamp dateIssueResolverType2(String input) throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
java.sql.Timestamp stmp=new java.sql.Timestamp(sdf.parse(input).getTime());
System.out.println(stmp);
return stmp;
}
}
关于java.time.DateTimeException : Unable to obtain LocalTime from TemporalAccessor: 2017-10-29 of type java. 时间.LocalDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47374873/
我正在尝试计算 2 个 localDates 之间的天数 我从这个答案中获得灵感:https://stackoverflow.com/a/325964对于这个问题Determine Whether T
我在使用 Joda daysBetween 函数时遇到问题。它一直在告诉我 The method daysBetween(ReadableInstant, ReadableInstant) in th
初始问题: 在Scala中,我想使用隐式 Ordering[T]#Ops比较两个LocalDate . 它只是使用像 > 这样的“运算符”而不是isAfter . 它应该只是一个导入:import s
如何删除 localDate 中的 T? 我需要删除“T”以匹配数据库中的数据。 这是我的代码 DateTimeFormatter formatter = DateTimeFormatter.ofPa
这个问题已经有答案了: How to format LocalDate object to MM/dd/yyyy and have format persist (4 个回答) How can you
这个问题在这里已经有了答案: What is the difference between public, protected, package-private and private in Jav
这个问题已经有答案了: SimpleDateFormat ignoring month when parsing (4 个回答) Java date format conversion - getti
这个问题已经有答案了: SimpleDateFormat ignoring month when parsing (4 个回答) Java date format conversion - getti
这个问题在这里已经有了答案: Localdate.format, format is not applied (2 个答案) How to format LocalDate to string? (
这个问题在这里已经有了答案: Importing two classes with same name. How to handle? (11 个回答) 7年前关闭。 我正在练习如何处理日期。但是当我
根据 Joda 中的文档: public LocalDate(int year, int monthOfYear, int dayOfMonth, Chronology chron
我正在尝试开发一个独立于 GWT 的通用模块,直到它实际在 GWT 应用程序中使用为止。问题是 GWT 不支持 joda 并且我的模块不使用 GWT。 我想要实现的目标(这行不通): 最
问题:Spring 似乎对 LocalDate 使用不同的反序列化方法,具体取决于它是出现在 @RequestBody 还是请求 @ReqestParam -这是正确的吗?如果是这样,是否有办法将它们
我想使用 Java8 DateTime API 中的 LocalDate 和 LocalDateTime,并且在值为 null 时无法坚持到 postgresql date 和 timestamp。
我正在做以下编程练习:Unlucky Days 。声明如下: Friday 13th or Black Friday is considered as unlucky day. Calculate h
这个问题已经有答案了: Java 8 LocalDateTime is parsing invalid datetime (5 个回答) How to sanity check a date in J
我有一个包含以下字段的员工类。 class Employee { final int id; final String name; final LocalDate update
这个问题已经有答案了: If statement gives condition is always true (4 个回答) 已关闭 3 年前。 我试图将两个日期与日期列表进行比较(列表元素已被删除
被这个问题困扰了一段时间,希望得到一些意见。我想验证用户输入的日期,以便我可以使用 LocalDate 对象执行计算。但是,当输入有效日期时,返回的日期是前一个无效日期,这会引发异常并崩溃。我错过了什
这个问题已经有答案了: How can I parse/format dates with LocalDateTime? (Java 8) (11 个回答) 已关闭 3 年前。 我有一个日期时间信息字
我是一名优秀的程序员,十分优秀!