Ответ 1
Формат - YYYY-MM-DD
. Вы не можете его изменить.
$('#myinput').val('2013-12-31');
устанавливает значение
Есть ли способ установить формат <input type="date"/>
? если нет, то как я могу установить дату в этом поле, используя JavaScript в формате по умолчанию type="date"
. как я могу получить формат этой области?
EDIT: На самом деле, я хочу показать собственный механизм выбора даты на мобильном устройстве, поэтому я выбрал этот тип ввода. если есть какая-то альтернатива для этого поля, которая также будет хорошей.
Извините, если я сказал что-то глупое. Пожалуйста, помогите мне
Формат - YYYY-MM-DD
. Вы не можете его изменить.
$('#myinput').val('2013-12-31');
устанавливает значение
new Date().toISOString().split('T')[0];
попробуй это :)
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());
});
Легче, чем выше
var today = new Date().toISOString().substring(0,10); # "2013-12-31"
Я бы попробовал jquery и jquery ui, чтобы добавить хороший элемент управления календарем, который делает все выбор и форматирование значений для вас. простого форматирования поля ввода недостаточно для требовательных пользователей сегодняшней сети :)
Посмотрите на эту ссылку
Это уродливо, но оно работает. :/
var today = new Date().toLocaleString('en-GB').split(' ')[0].split('/').reverse().join('-');
Проверьте этот fooobar.com/questions/15026/... и попробуйте этот путь также $('input[type="date"]').datepicker().prop('type','text');
проверить демоверсию
Я думаю, это может помочь
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();
}
В функции передайте строку даты.
@cOnstructOr предоставил отличную идею, но оставил запятую на месте
var today = new Date().toLocaleString('en-GB').split(' ')[0].slice(0,-1).split('/').reverse().join('-');
исправляет это
Канадский локаль, похоже, тоже поддерживает тот же формат:
new Date().toLocaleDateString('en-CA')
Что вы хотите сделать, это получить значение из ввода и назначить его для нового экземпляра Date.
let date = document.getElementById('dateInput');
let formattedDate = new Date(date.value);
console.log(formattedDate);