Я использую функцию Javascript, которая позволяет добавлять дни к текущей дате, но мне приходится сталкиваться с проблемой, когда я пытался изменить формат даты, вот мой рабочий код,
<body onload="addDate();">
<br/>
<h1>Adding number of days to current date in Javascript</h1>
Today Date (MM / DD / YYYY) : <input type="text" id="date1" readonly/> <br/> <br/>
Number of days to add : <input type="text" id="days" onChange="datechange()" /> <br/> <br/>
New Date (MM / DD / YYYY) : <input type="text" id="date2" readonly/>
<script type="text/javascript">
function datechange()
{
var d = document.getElementById('days').value;
var myDate = new Date(document.getElementById('date1').value);
myDate.setDate(myDate.getDate() + parseInt(d));
document.getElementById('date2').value = (myDate.getMonth() + 1) + '/' + (myDate.getDate()) + '/' + (myDate.getFullYear());
}
function addDate()
{
date = new Date();
var month = date.getMonth()+1;
var day = date.getDate();
var year = date.getFullYear();
if (document.getElementById('date1').value == '')
{
document.getElementById('date1').value = month + '/' + day + '/' + year;
}
}
</script>
Я попытался изменить формат даты на DD/MM/YYYY, с помощью этого кода,
<script type="text/javascript">
function datechange()
{
var d = document.getElementById('days').value;
var myDate = new Date(document.getElementById('date1').value);
myDate.setDate(myDate.getDate() + parseInt(d));
document.getElementById('date2').value = myDate.getDate() + '/' + (myDate.getMonth() + 1) + '/' + (myDate.getFullYear());
}
function addDate()
{
date = new Date();
var month = date.getMonth()+1;
var day = date.getDate();
var year = date.getFullYear();
if (document.getElementById('date1').value == '')
{
document.getElementById('date1').value = day + '/' + month + '/' + year;
}
}
</script>
Но я получаю неправильную ценность. Пожалуйста, кто-то, где я ошибся.
Невозможно создать new Date()
с dd/mm/yyyy
. Попробуй это:
function datechange() {
var d = document.getElementById('days').value;
var from = document.getElementById('date1').value.split('/');
var myDate = new Date(from[2], from[1] - 1, from[0]);
myDate.setDate(myDate.getDate() + parseInt(d));
document.getElementById('date2').value = myDate.getDate() + '/' + (myDate.getMonth() + 1) + '/' + myDate.getFullYear();
}
Рабочая демонстрация: http://jsfiddle.net/j5sqg/