标签:jquery php javascript html5 date-formatting
我有一个动态生成值的输入
<input name="etd" type"date" value="<?php echo $row[0]; ?>">
为了支持html5日期输入,日期格式为yyyy-mm-dd分配给该值,mm / dd / yyyy格式正确显示在html5浏览器中.
问题出现在非html5浏览器上,其中赋值的值直接显示为文本(格式为yyyy-mm-dd).我试图将此值转换为使用jQuery格式化mm / dd / yyyy,如下所示:
<script>
$('input[type="date"]').each({
var now = new Date($(this).attr('value'));
var day = ("0" + now.getDate()).slice(-2);
var month = ("0" + (now.getMonth() + 1)).slice(-2);
var today = now.getFullYear()+"-"+(month)+"-"+(day);
$(this).val(today);
});
</script>
但是没有用,我是jQuery的新手,所以我想,它就是它的一部分.
更新:
我正在使用此代码在不支持html5的浏览器上放置日期选择器,这不能解决我从数据库中检索到的日期问题,但if子句在某种程度上可以区分html5浏览器.我想也许我可以使用该条件来过滤jQuery代码(我正在寻找的代码)
<script>
$(function() {
if (!Modernizr.inputtypes['date']) {
$('input[type=date]').datepicker({
dateFormat: 'mm/dd/yy'
});
}
});
</script>
解决方法:
试试吧;
这是Fiddle link.
HTML:
<input name="etd" type="date" value="1919-03-12">
JS:
$( document ).ready(function() {
$('input[type=date]').each(function (this){
var datestring = $(this).val();
var dateobj = new Date(datestring);
var formattedstring = dateobj.getUTCDate()+"/"+dateobj.getUTCMonth()+"/"+dateobj.getUTCFullYear();
$(this).val(formattedstring);
});
});
另请注意,当您设置日期和月份值时,对于单个值,前面应该有一个零.例如,第7个月应为07.
顺便说一句,在您的代码中,您缺少=“登录类型”日期,请更正:)
标签:jquery,php,javascript,html5,date-formatting 来源: https://codeday.me/bug/20190706/1399363.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。