[英]How can I calculate the difference in years, months and days between two dates in Javascript?
[英]How Can I Calculate No Of Days From Two Dates
我想从两个日期计算天数 我的日期格式是dd-mmm-yyyy
就像"10-Nov-2020"
任何人都可以帮助我吗?
<script>
var deFromDate;
var deToDate;
var statarr;
function deFromDateChanged(s, e) {
deFromDate = (s.GetInputElement().value)
//statarr = deFromDate.split('-');
}
function deToDateChanged(s, e) {
deToDate = (s.GetInputElement().value)
var Difference_In_Time = deToDate.getTime() - deFromDate.getTime();
var Difference_In_Days = Difference_In_Time / (1000 * 3600 * 24);
alert(Difference_In_Days);
}
</script>
我在getTime()
上遇到错误 有没有其他方法可以做同样的事情
使用Date.parse()
(尽管由于不一致的实现而被劝阻)
function datediff(first, second) { return Math.round((second-first)/(1000*60*60*24)); } const deFromDate = Date.parse('10-Nov-2020'); const deToDate = Date.parse('15-Nov-2020'); console.log(datediff(deFromDate, deToDate));
手动解析
var months = { 'Jan' : 1, 'Feb' : 2, 'Mar' : 3, 'Apr' : 4, 'May' : 5, 'Jun' : 6, 'Jul' : 7, 'Aug' : 8, 'Sep' : 9, 'Oct' : 10, 'Nov' : 11, 'Dec' : 12 } function parseDate(str) { var [dd, mmm, yyyy] = str.split('-'); return new Date(yyyy, months[mmm]-1, dd); // months are 0 indexed } function datediff(first, second) { return Math.round((second-first)/(1000*60*60*24)); } const deFromDate = parseDate('10-Nov-2020'); const deToDate = parseDate('15-Nov-2020'); console.log(datediff(deFromDate, deToDate));
我尝试使用正则表达式:
<script>
var deFromDate;
var deToDate;
var dt1;
var dt2;
function deFromDateChanged(s, e) {
deFromDate = (s.GetInputElement().value)
dt1 = new Date(deFromDate.replace(/(\d{2})-(\d{2})-(\d{4})/, "$2/$1/$3"));
}
function deToDateChanged(s, e) {
deToDate = (s.GetInputElement().value)
dt2 = new Date(deToDate.replace(/(\d{2})-(\d{2})-(\d{4})/, "$2/$1/$3"));
var result = ((dt2 - dt1) / 86400000);
alert(result);
}
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.