目录[-] (1)javascript 数组 (2)函数基础 (3)运算符 (4)流程语句 (5)正则表达式 (6)字符串函数 (7)数据类型…
March 21, 2019
PHP计算两个日期内的天数, Javascript 计算两个日期内的天数, Finding the number of days between two dates
PHP 版
function dateDiff($start, $end) { $start_ts = strtotime($start); $end_ts = strtotime($end); $diff = $end_ts - $start_ts; return round($diff / 86400); } echo dateDiff("2011-02-15", "2012-01-16").'days'; //Get number of days deference between current date and given date. echo dateDiff("2011-02-15", date('Y-m-d')).'days';
或者
<?php $from=date_create(date('Y-m-d')); $to=date_create("2013-03-15"); $diff=date_diff($to,$from); print_r($diff); echo $diff->format('%R%a days'); ?>
Javscript 版
// new Date("dateString") is browser-dependent and discouraged, so we'll write // a simple parse function for U.S. date format (which does no error checking) function parseDate(str) { var mdy = str.split('/'); return new Date(mdy[2], mdy[0]-1, mdy[1]); } function datediff(first, second) { // Take the difference between the dates and divide by milliseconds per day. // Round to nearest whole number to deal with DST. return Math.round((second-first)/(1000*60*60*24)); } alert(datediff(parseDate(first.value), parseDate(second.value)));
<input id="first" value="1/1/2000"/> <input id="second" value="1/1/2001"/>
或者用 Moment 库
var a = moment([2007, 0, 29]); var b = moment([2007, 0, 28]); a.diff(b, 'days') // =1
如果要包括开始的那一天的话,可以:
a.diff(b, 'days')+1 // =2
也可以计算当月的天数:
moment("2012-02", "YYYY-MM").daysInMonth() // 29 moment("2012-01", "YYYY-MM").daysInMonth() // 31
本文:PHP计算两个日期内的天数, Javascript 计算两个日期内的天数, Finding the number of days between two dates