Jquery / Javascript - 添加年份到日期变量
Jquery / Javascript - Add years to date variable
我有一个小麻烦,如果能得到一些帮助,那就太好了。我正在创建一个小表单,我想采用当前日期格式'dd/mm/yyyy'
并从下拉框中添加一个年份变量以创建最终到期日期。唯一的麻烦是我不知道如何将开始日期解析为日期变量以完成计算。任何想法或帮助将不胜感激。保罗。
<script>
$(document).ready(function () {
$("#registerfor, #startdate, ").change(function () {
// Get Variables
var startdate = $("#startdate").val();
var registerfor = $("#registerfor").val();
// Add Years to Date
var expirydate = startdate + registerfor;
// Send Result on
$("#expires").val(expirydate);
});
});
</script>
<input name="startdate" id="startdate" value="dd/mm/yyyy" />
<select id="registerfor" name="registerfor">
<option value="1">1 Year</option>
<option value="2">2 Years</option>
<option value="3">3 Years</option>
</select>
一个快速简便的解决方案:
var myDate = new Date();
myDate.setFullYear(myDate.getFullYear() + nbYearsToAdd);
"nbYearsToAdd"可以是负数。
有时,看似非常简单的任务会变得非常复杂。
$(document).ready( function () {
$("#registerfor, #startdate").change( function () {
var str = $("#startdate").val();
if( /^'d{2}'/'d{2}'/'d{4}$/i.test( str ) ) {
var parts = str.split("/");
var day = parts[0] && parseInt( parts[0], 10 );
var month = parts[1] && parseInt( parts[1], 10 );
var year = parts[2] && parseInt( parts[2], 10 );
var duration = parseInt( $("#registerfor").val(), 10);
if( day <= 31 && day >= 1 && month <= 12 && month >= 1 ) {
var expiryDate = new Date( year, month - 1, day );
expiryDate.setFullYear( expiryDate.getFullYear() + duration );
var day = ( '0' + expiryDate.getDate() ).slice( -2 );
var month = ( '0' + ( expiryDate.getMonth() + 1 ) ).slice( -2 );
var year = expiryDate.getFullYear();
$("#expires").val( day + "/" + month + "/" + year );
} else {
// display error message
}
}
});
});
这是一个小提琴,所以你可以看到它的实际效果。
var dt = new Date($("#startdate").val());
var updateDate = dt.setDate(dt.getFullYear() + $("#registerfor").val());
var dd = updateDate.getDate();
var mm = updateDate.getMonth();
var y = updateDate.getFullYear();
var someFormattedDate = dd + '/'+ mm + '/'+ y;
console.log(someFormattedDate);
伙计,它已经在工作了。如果您仍想转换日期,请执行以下操作:
var dat=Date.parse(startdate );
我会:
- 将日期放在 Date.parse 可以很好地使用的格式 (mm/dd/yyyy)
- 将一年中的毫秒数乘以所选选项相加
-
将新值重新格式化为人类可读的格式并填充 #expires
var dateArr = $("#startdate").val().split();
var niceDate = Number(dateArr[1]) + "/" + Number(dateArr[0]) + "/" + Number(dateArr[2]);
var expDate = Date.parse(niceDate) + 365*24*60*60*1000*Number($("#registerfor").val());
$("#expires").val(expDate.getMonth()+1 + "/" + expDate.getDate() + "/" + expDate.getFullYear());
如果您需要 2 位数的日期和月份作为到期日期,您可以有额外的变量来保存它们的字符串版本并检查以下内容:
var padMonth = expDate.getMonth()+1;
if(expDate.getMonth()+1 < 10) padMonth = "0" + Number(expDate.getMonth()+1);
之后,您将在 $("#expires").val(...) 中使用 padMonth
有很多日期选择器jquery。
这
一个是我的最爱,易于根据我们的需要实施和编辑。
如果要使用代码中的脚本,可以直接将日期值传递给 var startdate,例如
var startdate=<?php echo date("Y-m-d")?>
试试这个..可能会有所帮助。
- 从Function触发JQuery UI日期选择器,并将日期存储到变量中
- 如何在日期选择器中的单独变量中获取日期月份和日期
- 设置日期变量的格式
- PHP 如果特定日期到期,则不回显变量
- javascript日期变量为zend日期
- AngularUI日期选择器将变量传递给minDate和maxDate
- Angular UI Bootstrap Datepicker动态日期(变量)
- JMeter BSF断言-比较日期变量
- 日期变量没有addDays方法
- 如何在JQuery中更改日期变量的颜色
- Javascript日期变量
- Javascript中日期变量的问题
- 如何在mongo中设置日期变量
- 使用自定义Javascript日期变量与IMG SRC元素
- 两个Javascript日期变量
- 为什么javascript date. setdate()会改变其他日期变量的值
- jsant甘特图-如何使用日期变量而不是文本
- Javascript日期变量赋值
- Jquery / Javascript - 添加年份到日期变量
- Javascript创建变量的html代码与一个新的日期变量