关于input日期输入框 type="datetime-local"的写法

关于<input type=“datetime-local”>日期输入框
今天由于项目中需要使用日期输入框,所以就找了一下相关的文章,结果竟然没发现符合预期的方法。
日期输入框,如果想要使输入框存在默认值,一般写法:

<tr>
	<td>课程开始时间</td>
	<td><input id="coursestarttime" type="datetime-local" value="2019-01-01T08:23"></td>
</tr>

其中value一般不会是固定的,所以上面这种写法必须要自己想办法将后台的日期转化为规定格式:“yyyy-MM-ddThh:mm:ss”,自己在后台转好传过来,或是js中转化,非常麻烦(网上很多,就不说了)。
所以我就试了各种方法,突然就想到了<fmt:>标签!!!居然成功了!!发现还挺方便!
加上标签之后的写法:

<tr>
	<td>课程开始时间</td>
	<td><input id="coursestarttime" type="datetime-local" value=<fmt:formatDate value='${course.coursestarttime}' pattern='yyyy-MM-dd\'T\'hh:mm:ss'/>></td>
</tr>

当然前面还需自行引入fmt标签

<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

注意:pattern='yyyy-MM-dd’T’hh:mm:ss’中字母T一定要加引号!而又由于引号需要使用转义字符,所以引号要使用\转义!
我自己觉得原因可能是,因为<fmt>是使用simpledateformt实现的,simpledateformat中如果使用了T,会报错:无法识别的字符T。所以T需要加引号,如:
SimpleDateFormat sdf = new SimpleDateFormat(“yyyyMMdd’T’HHmmss”);
所以pattern='yyyy-MM-dd’T’hh:mm:ss’中字母T要加引号。
不过最令我惊奇的是,value后居然可以跟标签,难道因为标签最后会转化为字符串????

自己琢磨出了一个方法还挺开心!希望大佬可以指正这样写是否正确,或者有更好的写法!欢迎讨论!

  • 13
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值