无法从jsp表单将datetime传递给google appengine

无法从jsp表单将datetime传递给google appengine,jsp,google-app-engine,servlets,Jsp,Google App Engine,Servlets,我试图保存日期和时间,让用户从一个用JSP创建并由Javaservlet接收的前端通过该日期和时间。 以下是我的JSP代码: <form role="form" action="/abc" method="post"> <div class="form-group"> <div class="input-group"> <input type="hidde

我试图保存日期和时间,让用户从一个用JSP创建并由Javaservlet接收的前端通过该日期和时间。 以下是我的JSP代码:

<form role="form" action="/abc" method="post">

            <div class="form-group">
                <div class="input-group">

                    <input type="hidden" name="div_bvg" type="number" class="form-control" value="0" required/>
                </div>
            </div>

            Enter the Details: 
                <div class="input-group">
                    <span class="input-group-addon">End Date</span>
                    <input name="div_enddate" type="datetime-local"  class="form-control" required/>
                </div>

            </div>

            <a href="/dashboard" class="btn btn-default">Cancel</a>
            <button type="submit" class="btn btn-success">Save</button>

        </form> 
以下是我提交时遇到的错误

java.lang.NumberFormatException: Invalid date/time format: 2020-01-01T01:00

我不清楚您是如何在前端花费时间的,但您正在向Java传递一个无效的时间格式

在前端,您使用的是以下格式:

yyyy-MM-dd'T'HH:mm
yyyy-MM-dd HH:mm:ss.SSS
Java希望使用以下格式:

yyyy-MM-dd'T'HH:mm
yyyy-MM-dd HH:mm:ss.SSS
你有两个选择

  • 您可以在前端转换时间格式以匹配java日期格式。建议这样做,因为您将从后端删除工作负载
  • 将后端中的日期解析为字符串,然后删除“T”,然后将其用作日期,即
  • Java时间格式转换:

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
    SimpleDateFormat output = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date d = sdf.parse(time);
    String formattedTime = output.format(d);
    

    谢谢你,发现问题了,我有不同的日期格式,并且给出了不同的日期格式。