设置输入类型=“日期”的格式和值

问题描述 投票:13回答:12

有没有办法设置<input type="date" />的格式?如果没有,那么我如何使用jazxswpoi的默认格式在此字段中设置日期。我怎样才能得到这个领域的格式?

编辑:其实我想显示移动设备的原生日期选择器,这就是为什么我选择这种类型的输入。如果那个领域有任何替代方案也很好。

对不起,如果我说任何愚蠢的话。请指导我

javascript jquery html html5 mobile-safari
12个回答
18
投票

格式是type="date"。你无法改变它。

YYYY-MM-DD设定价值


0
投票

@cOnstructOr提供了一个好主意,但它留下了一个逗号

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();
}

解决了这个问题


0
投票

加拿大语言环境也采用相同的格式:

var today = new Date().toLocaleString('en-GB').split(' ')[0].slice(0,-1).split('/').reverse().join('-');

0
投票

您要做的是从输入中获取值并将其分配给新的Date实例。

new Date().toLocaleDateString('en-CA')

10
投票

$('#myinput').val('2013-12-31');


6
投票

试试这个 :)

new Date().toISOString().split('T')[0];

2
投票

比上面容易

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()); 
});

1
投票

我会尝试jquery和jquery ui添加一个很好的日历控件,为你做所有的值选择和格式化。简单的输入字段格式化对于今天网络的苛刻用户来说是不够的:)

看看这个var today = new Date().toISOString().substring(0,10); # "2013-12-31"


1
投票

这很难看,但它确实有效。 :/

link

0
投票

请检查这个var today = new Date().toLocaleString('en-GB').split(' ')[0].split('/').reverse().join('-'); 并尝试这种方式也https://stackoverflow.com/a/9519493/1074944检查$('input[type="date"]').datepicker().prop('type','text');


0
投票

我认为这可以提供帮助

demo

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                                                          
        });                                                                          
      });                                                                                

在函数中传递您的日期字符串。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.