jsp - 无法从 jsp 表单将日期时间传递给 google appengine
问题描述
我正在尝试保存从在 JSP 中创建并由 java servlet 接收的前端通过用户获取的日期和时间。以下是我的 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>
以下是通过我的 servlet 接收
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
String sdate = request.getParameter("div_enddate").trim();
DateTime enddate = new DateTime(edate);
Entity election = new Entity("example");
election.setProperty("EndTime", enddate);
Transaction txn = datastore.beginTransaction();
datastore.put(txn,election);
txn.commit();
if (txn.isActive()) { //if trnasaction is still active (which means not committed properly then it rollbacks)
txn.rollback();
}
以下是我提交时遇到的错误
java.lang.NumberFormatException: Invalid date/time format: 2020-01-01T01:00
解决方案
我不清楚您是如何在前端花费时间的,但是您将无效的时间格式传递给 Java。
在您的前端,您使用的是这种格式:
yyyy-MM-dd'T'HH:mm
Java 期望这种格式:
yyyy-MM-dd HH:mm:ss.SSS
你有2个选择
- 您可以在前端转换时间格式以匹配 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);
推荐阅读
- c - 在流水线图中,数据危害的数据转发如何工作
- nestjs - 布尔查询参数被视为字符串,而不是转换为布尔数据类型
- javascript - 加快 Gatsby 性能
- geojson - 如何使用 GeoTools gt-geojsondatastore 插件读取包含单个功能的 GeoJSON 文件?
- wordpress - 如何在 woocommerce 中获取 wp_woocommerce_session_ 值?
- android - Android 将最新的 AOSP 提交到我的项目中
- linux - 如何同时在多个主机上运行远程脚本
- tree - 在图中,两个顶点之间的最短路径怎么可能比图的最小生成树中这两个顶点之间的路径长?
- python - 如果 FTP-Server 中的新文件运行程序
- c# - 在 Acumatica 中确认发货时如何旋转从承运人检索到的发货标签图像?