有什麼方法可以設置<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