有没有办法设置<input type="date" />
的格式?如果没有,那么我如何使用默认格式type="date"
的JavaScript在此字段中设置日期。我怎样才能得到这个领域的格式?
编辑: 实际上我想显示移动设备的原生日期选择器,这就是为什么我选择这种类型的输入。如果该领域有任何替代方案,那也很好。
对不起,如果我说任何愚蠢话。请指导我
答案 0 :(得分:17)
格式为YYYY-MM-DD
。你无法改变它。
$('#myinput').val('2013-12-31');
设置值
答案 1 :(得分:10)
new Date().toISOString().split('T')[0];
答案 2 :(得分:6)
试试这个:)
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());
});
答案 3 :(得分:2)
比上面容易
var today = new Date().toISOString().substring(0,10); # "2013-12-31"
答案 4 :(得分:1)
我会尝试使用jquery和jquery ui来添加一个很好的日历控件来为你完成所有的值选择和格式化。输入字段的简单格式不足以满足当今网络的苛刻用户:)
看看这个link
答案 5 :(得分:1)
它很丑,但它确实有效。 :/
var today = new Date().toLocaleString('en-GB').split(' ')[0].split('/').reverse().join('-');
答案 6 :(得分:0)
请检查此https://stackoverflow.com/a/9519493/1074944并尝试这种方式$('input[type="date"]').datepicker().prop('type','text');
查看demo
答案 7 :(得分:0)
我认为这可以提供帮助
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
});
});
答案 8 :(得分:0)
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();
}
在功能中传递日期字符串。
答案 9 :(得分:0)
@cOnstructOr提供了一个好主意,但它留下了一个逗号
var today = new Date().toLocaleString('en-GB').split(' ')[0].slice(0,-1).split('/').reverse().join('-');
修复了
答案 10 :(得分:0)
加拿大语言环境也采用相同的格式:
new Date().toLocaleDateString('en-CA')
答案 11 :(得分:0)
您要做的是从输入中获取值并将其分配给新的Date实例。
let date = document.getElementById('dateInput');
let formattedDate = new Date(date.value);
console.log(formattedDate);
答案 12 :(得分:0)
这是一个简单的答案,
由于这是一个字符串,我们可以使用Javascript String slice方法来重新排列字符
<input type="date" id="idate" name="tno"><br>
<button onclick="run()">Run</button>
<p id="demo"></p>
<script>
function run() {
var d = document.getElementById("idate").value;
document.getElementById("demo").innerHTML = d.slice(8, 10) + "/" + d.slice(5, 7) + "/" + d.slice(0, 4);
}
</script>
来源