Dayjs return 数字而不是带有 .form 的相关词
Dayjs return number instead of relative word with `.form`
dayjs (relativeTime
) 上有插件可以 returning 人类可读字符串 而不是数字。有没有办法return只是数字?
类似这些
dayjs('2020-07-1').from(dayjs('2020-07-9')) // -8
dayjs('2020-07-1').from(dayjs('2020-07-1')) // 0
dayjs('2020-07-11').from(dayjs('2020-07-9')) // 2
没有 dayjs
我可以建议简单的方法来获得您想要的结果,如下所示。
function getDayDifference(from, to) {
let diffInMilliseconds = new Date(from) - new Date(to);
// divide with (1000*60*60*24) to get difference in days.
let days = Math.round(diffInMilliseconds / (1000 * 60 * 60 * 24));
console.log(days);
return days;
}
getDayDifference('2020-07-1', '2020-07-9'); // -8
getDayDifference('2020-07-1', '2020-07-1'); // 0
getDayDifference('2020-07-11', '2020-07-9'); // 2
或者您可以使用 dayjs.prototype.getDayDifference = function(to) {...}
为 dayjs
定义自己的扩展方法。您可以在下面查看。
dayjs.prototype.getDayDifference = function(to) {
//86400000 = (1000 * 60 * 60 * 24)
return Math.round((this.$d - to.$d) / 86400000);
}
console.log(dayjs('2020-07-1').getDayDifference(dayjs('2020-07-9'))); // -8
console.log(dayjs('2020-07-1').getDayDifference(dayjs('2020-07-1'))); // 0
console.log(dayjs('2020-07-11').getDayDifference(dayjs('2020-07-9'))); // 2
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.8.29/dayjs.min.js" integrity="sha512-APVsMirhHF2o3YdCSwYonM7egfT589pTqyoy5hIzEbs9sAGJSbEI6ssXUwngHjaq4V/GmmmpgqrcLSvsO+gsJQ==" crossorigin="anonymous"></script>
工作代码!!
使用 dayjs
库中的 diff()
方法,将 'day'
作为第二个参数
console.log(dayjs('2020-07-1').diff('2020-07-9', 'day')); // -8
console.log(dayjs('2020-07-1').diff('2020-07-1', 'day')); // 0
console.log(dayjs('2020-07-11').diff('2020-07-9', 'day')); // 2
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.8.29/dayjs.min.js" integrity="sha512-APVsMirhHF2o3YdCSwYonM7egfT589pTqyoy5hIzEbs9sAGJSbEI6ssXUwngHjaq4V/GmmmpgqrcLSvsO+gsJQ==" crossorigin="anonymous"></script>
注意:'day'
可以替换为 'd
',即 shorthand
dayjs (relativeTime
) 上有插件可以 returning 人类可读字符串 而不是数字。有没有办法return只是数字?
类似这些
dayjs('2020-07-1').from(dayjs('2020-07-9')) // -8
dayjs('2020-07-1').from(dayjs('2020-07-1')) // 0
dayjs('2020-07-11').from(dayjs('2020-07-9')) // 2
没有 dayjs
我可以建议简单的方法来获得您想要的结果,如下所示。
function getDayDifference(from, to) {
let diffInMilliseconds = new Date(from) - new Date(to);
// divide with (1000*60*60*24) to get difference in days.
let days = Math.round(diffInMilliseconds / (1000 * 60 * 60 * 24));
console.log(days);
return days;
}
getDayDifference('2020-07-1', '2020-07-9'); // -8
getDayDifference('2020-07-1', '2020-07-1'); // 0
getDayDifference('2020-07-11', '2020-07-9'); // 2
或者您可以使用 dayjs.prototype.getDayDifference = function(to) {...}
为 dayjs
定义自己的扩展方法。您可以在下面查看。
dayjs.prototype.getDayDifference = function(to) {
//86400000 = (1000 * 60 * 60 * 24)
return Math.round((this.$d - to.$d) / 86400000);
}
console.log(dayjs('2020-07-1').getDayDifference(dayjs('2020-07-9'))); // -8
console.log(dayjs('2020-07-1').getDayDifference(dayjs('2020-07-1'))); // 0
console.log(dayjs('2020-07-11').getDayDifference(dayjs('2020-07-9'))); // 2
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.8.29/dayjs.min.js" integrity="sha512-APVsMirhHF2o3YdCSwYonM7egfT589pTqyoy5hIzEbs9sAGJSbEI6ssXUwngHjaq4V/GmmmpgqrcLSvsO+gsJQ==" crossorigin="anonymous"></script>
工作代码!!
使用 dayjs
库中的 diff()
方法,将 'day'
作为第二个参数
console.log(dayjs('2020-07-1').diff('2020-07-9', 'day')); // -8
console.log(dayjs('2020-07-1').diff('2020-07-1', 'day')); // 0
console.log(dayjs('2020-07-11').diff('2020-07-9', 'day')); // 2
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.8.29/dayjs.min.js" integrity="sha512-APVsMirhHF2o3YdCSwYonM7egfT589pTqyoy5hIzEbs9sAGJSbEI6ssXUwngHjaq4V/GmmmpgqrcLSvsO+gsJQ==" crossorigin="anonymous"></script>
注意:'day'
可以替换为 'd
',即 shorthand