下班了,先给猿们炫耀一下。
在使用wfs进行数据编辑的过程中,需要插入日期类型的数据,网上翻了半天都没有找到可供参考的例子,查看后台报错信息为:
java.lang.illegaArgumentException:Failed to parse datatime
最后有一位前辈的帖子,帮助了我,站在前辈的肩膀上,解决了问题,其实geoserver日期转换是使用geotools工具,转换函数为:
org.geotools.xml.impl.DatatypeConverterInterface.parsedatetime()
查看geotools api才发现,转换日期格式必须是 :iso 8601标准的日期类型(好挑剔啊)。
平时我们日期格式转换,基本为"yyyy-MM-dd hh:mm:ss"或者"yyyy-MM-dd",但是geoserver转换要求格式如下:
YYYY-MM-DDThh:mm:ss
YYYY-MM-DDThh:mm:ss.sss
YYYY-MM-DDThh:mm:ssZ
YYYY-MM-DDThh:mm:ss-01:00
举个栗子:
一般日期转换:
var date = new Date();
date.toLocaleDateString(); //yyyy-MM-dd
date.toLocaleString(); //yyyy-MM-dd hh:mm:ss
geoserver要求格式:
var date = new Date();
date.toISOString();
date.date.toJSON();