以日期计算的天数更改日期格式
change date formate in date calculated days
这是我与计算日期代码的日期差,我的用户日期格式为yy-dd-mm
,但我已将格式更改为dd-mm-yy
。因此我更改了格式代码,但它无法正常工作。有人能帮忙吗?
<script>
var calculate = function() {
var from = document.getElementById("txtdate").value;
var fromdate = from.slice(3, 5);
fromdate = parseInt(fromdate);
var frommonth = from.slice(0, 2);
frommonth = parseInt(frommonth);
var fromyear = from.slice(6, 10);
fromyear = parseInt(fromyear);
var to = document.getElementById("txtdate1").value;
var todate = to.slice(3, 5);
todate = parseInt(todate);
var tomonth = to.slice(0, 2);
tomonth = parseInt(tomonth);
var toyear = to.slice(6, 10);
toyear = parseInt(toyear);
var oneDay = 24*60*60*1000;
var firstDate = new Date(fromyear,frommonth,fromdate);
var secondDate = new Date(toyear,tomonth,todate);
var diffDays = Math.round(Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay))+1);
if (diffDays)
document.getElementById("result").value=diffDays;
}
</script>
搜索n替换这两行代码:
var fromdate = from.slice(3, 5);
var frommonth = from.slice(0, 2);
收件人:
var fromdate = from.slice(0, 2);
var frommonth = from.slice(3, 5);
搜索并替换这两行:
var todate = to.slice(3, 5);
var tomonth = to.slice(0, 2);
收件人:
var todate = to.slice(0, 2);
var tomonth = to.slice(3, 5);
让其余的行保持原样。
您应该使用from.split('-')函数来获取日期、月份和年份。然后为from和to创建一个新的Date(年、月、日期)。newTo newFrom给出2个日期之间的日期差(以毫秒为单位)。将此差异除以1000*3600*24,得到以天为单位的日期差异
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
有关参考,请参阅在javascript中获取两个日期之间的差异?
<html>
<head>
<title></title>
</head>
<body>
<input type="text" id="txtdate" value="16-04-2016" />
<input type="text" id="txtdate1" value="24-05-2016" />
<input type="text" id="result" value="" />
<!-- dd-mm-yyyy -->
<script type="text/javascript">
var calculate = function() {
var from = document.getElementById("txtdate").value;
var to = document.getElementById("txtdate1").value;
document.getElementById("result").value= process(to,from)+' Days';
}
function process(d1,d2){
var date1 = d1.split('-');
var date2 = d2.split('-');
var start = new Date(date1[2], +date1[1]-1, date1[0]);
var end = new Date(date2[2], +date2[1]-1, date2[0]);
return (start.getTime() - end.getTime()) / (1000*60*60*24);
}
calculate();
</script>
</body>
</html>
Fiddle
相关文章:
- Javascript日期格式类似于ISO,但本地
- NodeJS日期格式不起作用
- 将客户端特定的日期格式返回到服务器MVC4
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 将Javascript日期转换为ASP.NET日期格式
- 在达到状态之前在Redux Reducer中设置日期格式
- 如何从Angularjs中的新日期获取日期格式
- 如何使用jquery更改为所需的日期格式
- keith wood日期选择器日期格式和语言
- Dygraph更改日期格式
- 确定Twig(或JavaScript)中的国际日期格式,以便在其他地方使用
- javascript和jquery日期格式转换
- 用javascript将日期格式从d/m/yyyy转换为yyyy-mm-dd
- 在Datepicker中将日期格式更改为yyyy-mm-dd
- 在Karma Jasmine单元测试用例中检查日期格式
- 使用不同的日期格式和区域设置创建时刻
- 更改日期选择器上的日期格式
- 以日期计算的天数更改日期格式
- 带有onchange的日期格式
- 如何从区域设置获取日期格式