返回格式的日期 ( x 年, x 月, x 天) - JavaScript.
Return Date in format ( x years, x months, x days) - JavaScript
如果这个问题已经得到回答,我深表歉意。我到处找,无法完成这项工作。
截至目前,我的代码返回的天数,如附加的示例,但我想以这种格式获得结果 -> 1 年 5 个月 10 天。
有没有更好的方法来获得这个结果?这是我到目前为止拥有的代码,所有帮助将不胜感激。如果有帮助,这是一个垃圾箱。
function reworkedInBetweenDays(year, month, day){
var firstDate = new Date();
var secondDate = new Date(year, month-1, day);
var diffDays;
var startDate = firstDate.getTime();
var endDate = secondDate.getTime();
diffDays = (startDate - endDate) / 1000 / 86400;
diffDays = Math.round(diffDays - 0.5);
return diffDays;
}
console.log(reworkedInBetweenDays(2014,09,21));
function reworkedInBetweenDays(year, month, day) {
var today = new Date();
var fromdate = new Date(year, month - 1, day);
var yearsDiff = today.getFullYear() - fromdate.getFullYear();
var monthsDiff = today.getMonth() - fromdate.getMonth();
var daysDiff = today.getDate() - fromdate.getDate();
if (monthsDiff < 0 || (monthsDiff === 0 && daysDiff < 0))
yearsDiff--;
if (monthsDiff < 0)
monthsDiff += 12;
if (daysDiff < 0) {
var fromDateAux = fromdate.getDate();
fromdate.setMonth(fromdate.getMonth() + 1, 0);
daysDiff = fromdate.getDate() - fromDateAux + today.getDate();
monthsDiff--;
}
var result = [];
if (yearsDiff > 0)
result.push(yearsDiff + (yearsDiff > 1 ? " years" : " year"))
if (monthsDiff > 0)
result.push(monthsDiff + (monthsDiff > 1 ? " months" : " month"))
if (daysDiff > 0)
result.push(daysDiff + (daysDiff > 1 ? " days" : " day"))
return result.join(', ');
/* or as an object
return {
years: yearsDiff,
months: monthsDiff,
days: daysDiff
}*/
}
console.log(reworkedInBetweenDays(2015, 2, 3));
console.log(reworkedInBetweenDays(2014, 9, 21));
console.log(reworkedInBetweenDays(2016, 1, 31));
相关文章:
- Javascript格式UTC日期
- 将数组从javascript格式化为php的更好方法,反之亦然
- 将数组转换为javascript格式的字符串
- 如何比较 JavaScript 格式为 2011-jan-21 的两个日期
- 记事本++ Javascript格式样式和变量列表
- Javascript格式时间军用am pm从字符串
- JavaScript格式的对象数组嵌套到子对象中
- 将日期导出为Javascript格式
- 获取 PHP 或 JavaScript 格式的 YouTube 视频提要
- 如何将当前时间与使用 Javascript 格式化为字符串的时间范围进行比较
- Javascript格式不带时区的日期
- 将 UTC 日期格式转换为 JavaScript 格式
- 将文件读取到 blob 并以 JavaScript 格式显示
- 使用具有有效 JavaScript 格式的 Json.NET 序列化对象
- HTML 表单不会以 JavaScript 格式提交
- Onedrive cors 以 JavaScript 格式下载
- 计算两个给定时间的以毫秒为单位的时间差;DD/MM/YYYY HH:MM:ss:ms”;javascript格式
- Javascript格式日期
- 在responsd_to中使用javascript格式时ActionController::UnknownFormat
- Javascript格式错误