有什么方法可以设置<input type="date" />
的格式吗?如果没有,那么我该如何在默认格式type="date"
中使用JavaScript在此字段中设置日期。我怎样才能得到这个领域的格式?在输入类型=“日期”中设置格式和值
编辑: 其实我想显示移动设备的本机日期选择器,这就是为什么我选择了这种类型的输入。如果这个领域有任何替代品,那也是一件好事。
对不起,如果我说什么愚蠢的。请指导我
有什么方法可以设置<input type="date" />
的格式吗?如果没有,那么我该如何在默认格式type="date"
中使用JavaScript在此字段中设置日期。我怎样才能得到这个领域的格式?在输入类型=“日期”中设置格式和值
编辑: 其实我想显示移动设备的本机日期选择器,这就是为什么我选择了这种类型的输入。如果这个领域有任何替代品,那也是一件好事。
对不起,如果我说什么愚蠢的。请指导我
格式为YYYY-MM-DD
。你不能改变它。
$('#myinput').val('2013-12-31');
套价值
是否是YYYY-MM-DD?在移动Safari和Android的情况下? – muneebShabbir
内部值可能被读取和写入为YYYY-MM-DD,但不一定如何显示 - 浏览器将显示它的值如何决定,在移动设备的情况下会看到用户的语言环境设置并使用该格式 –
您是否也可以提供JSfiddle – M98
我会尝试jQuery和jQuery UI添加一个不错的日历控件,为您做所有的值选择和格式。输入字段的简单的格式是不够的,要求今天的网络:)用户
看一看这个link
谢谢。但我的问题有点不同。请在所有浏览器上查看我的编辑部分 – muneebShabbir
请检查该https://stackoverflow.com/a/9519493/1074944,并尝试这种方式也$('input[type="date"]').datepicker().prop('type','text');
检查demo
它的丑陋,但它的工作原理。 :/
var today = new Date().toLocaleString('en-GB').split(' ')[0].split('/').reverse().join('-');
这会给你日期字符串,如“2015,-05-01”。删除不必要的逗号,试试这个 new Date()。toLocaleString('en-GB')。split('')[0] .split('/')。reverse()。join(' - ') 。更换(',',''); – WeNeigh
试试这个:)
function getDefaultDate(){
var now = new Date();
var day = ("0" + now.getDate()).slice(-2);
var month = ("0" + (now.getMonth() + 1)).slice(-2);
var today = now.getFullYear()+"-"+(month)+"-"+(day) ;
return today;
}
$(document).ready(function(){
$("#dateid").val(getDefaultDate());
});
,我认为这可以帮助
function myFormatDateFunction(date, format) {
...
}
jQuery('input[type="date"]')
.each(function(){
Object.defineProperty(this,'value',{
get: function() {
return myFormatDateFunction(this.valueAsDate, 'dd.mm.yyyy');
},
configurable: true,
enumerable : true
});
});
function getDefaultDate(curDate){
var dt = new Date(curDate);`enter code here`
var date = dt.getDate();
var month = dt.getMonth();
var year = dt.getFullYear();
if (month.toString().length == 1) {
month = "0" + month
}
if (date.toString().length == 1) {
date = "0" + date
}
return year.toString() + "-" + month.toString() + "-" + date.toString();
}
在功能通过你的日期字符串。
月份不好。 var month = dt.getMonth()+ 1; –
@constructor提供了一个很好的想法,但它留在原地逗号
var today = new Date().toLocaleString('en-GB').split(' ')[0].slice(0,-1).split('/').reverse().join('-');
修复了
比上面更容易为
var today = new Date().toISOString().substring(0,10); # "2013-12-31"
new Date().toISOString().split('T')[0];
谢谢,帮了很多:) –
现在是最美丽和整洁的解决方案。 –
加拿大语言环境恰巧也遵循相同的格式:
new Date().toLocaleDateString('en-CA')
您应该明确您希望设置为控件的值。它在'value'属性中的格式是固定的。您的问题是将某些日期值从某种格式(哪个?)转换为该格式? –
作为wachk表示输入类型日期是'YYYY-MM-DD',最初我想将该格式更改为'DD-MM-YYYY'。如果我们可以用JS打开移动设备的默认日历(日期选择器),那么我可以跳过使用输入类型日期 – muneebShabbir