当前位置: 首页 > wzjs >正文

商城网站制作公司设计论坛

商城网站制作公司,设计论坛,阳谷网站建设,南昌公司网站开发在现代开发中,日期和时间的处理是常见且重要的任务之一。无论是在计算项目期限、产品保质期,还是在日志中跟踪事件发生时间,我们都可能需要计算和格式化日期差异。 本文将通过一个JavaScript实例,介绍如何计算两个日期之间的差异…

在现代开发中,日期和时间的处理是常见且重要的任务之一。无论是在计算项目期限、产品保质期,还是在日志中跟踪事件发生时间,我们都可能需要计算和格式化日期差异。

本文将通过一个JavaScript实例,介绍如何计算两个日期之间的差异,并将结果格式化为“年、月、日”的形式。同时,我们也会探讨日期处理中的一些常见问题,如日期的有效性检查、如何处理日期的不同单位(如年、月、天),以及如何在用户输入数据时执行必要的验证。

1. 代码实现:日期差异计算函数

首先,我们来分析一下一个常见的日期差异计算函数。该函数的目的是计算两个日期之间的天数差,并将其转换为“年、月、日”的格式。我们从基础的代码实现开始:

function calculateDateDifference(startDate, endDate) {// 将日期字符串转换为 Date 对象const start = new Date(startDate);const end = new Date(endDate);// 检查开始日期是否晚于结束日期if (start > end) {showAlerts(".ErrorModal", "5%", "日期不能为负");$("#dates").val(``);return; // 停止执行函数并不返回任何值}// 计算两个日期之间的天数差const totalDays = Math.floor((end - start) / (1000 * 60 * 60 * 24));// 若天数少于20天,停止并不返回任何值if (totalDays < 20) {showAlerts(".ErrorModal", "5%", "保质期不能小于20天");$("#dates").val(``);return; // 停止执行函数并不返回任何值}// 每年按360天计算,每月按30天计算const years = Math.floor(totalDays / 360);const remainingDaysAfterYears = totalDays % 360;const months = Math.floor(remainingDaysAfterYears / 30);const days = remainingDaysAfterYears % 30;// 根据条件返回格式化的结果if (years === 0 && months === 0) {return `${days}天`;} else if (years === 0) {return `${months}月${days.toString().padStart(2, "0")}天`;} else if (months === 0) {return `${years}年${days.toString().padStart(2, "0")}天`;} else {return `${years}年${months}月${days.toString().padStart(2, "0")}天`;}
}

代码详解

  1. 日期转换

    • 首先,函数将输入的日期字符串通过 new Date() 方法转换成 JavaScript 的 Date 对象。Date 对象是处理时间和日期的标准方式。
      const start = new Date(startDate);
      const end = new Date(endDate);

      2.有效性检查:然后,通过比较 start 和 end 日期对象,判断开始日期是否晚于结束日期。如果是,则弹出提示框提示用户并停止后续操作。

    • if (start > end) {showAlerts(".ErrorModal", "5%", "日期不能为负");$("#dates").val(``);return;
      }

      3.日期差的计算:计算两个日期之间的差异,单位为天数。通过 end - start 得到毫秒差,再转换成天数

4.

  • 对于某些业务场景,如计算保质期,可能会要求日期差异不能小于某个值。此处我们检查日期差异是否小于 20 天,如果小于 20 天,则弹出警告并停止后续计算。
    if (totalDays < 20) {showAlerts(".ErrorModal", "5%", "保质期不能小于20天");$("#dates").val(``);return;
    }

    转换为年、月、日格式

  • 接下来,我们按照每年 360 天、每月 30 天的标准来转换天数。使用 Math.floor 对天数进行逐级拆分,得到年、月、日。
    const years = Math.floor(totalDays / 360);
    const remainingDaysAfterYears = totalDays % 360;
    const months = Math.floor(remainingDaysAfterYears / 30);
    const days = remainingDaysAfterYears % 30;

    结果格式化

  • 最后,根据计算的年、月、日进行格式化输出。如果只有天数,直接返回天数;如果有月和天,按“月-天”格式返回;如果有年和天,则按“年-天”格式返回。
    if (years === 0 && months === 0) {return `${days}天`;
    } else if (years === 0) {return `${months}月${days.toString().padStart(2, "0")}天`;
    } else if (months === 0) {return `${years}年${days.toString().padStart(2, "0")}天`;
    } else {return `${years}年${months}月${days.toString().padStart(2, "0")}天`;
    }

     

 


文章转载自:

http://ya8cru4J.xcdph.cn
http://ER5yjDE0.xcdph.cn
http://n6FdsOhM.xcdph.cn
http://7JeLzxDu.xcdph.cn
http://0LnDmqh0.xcdph.cn
http://uB6YjLC0.xcdph.cn
http://ml7aBB0Q.xcdph.cn
http://3bINEMeo.xcdph.cn
http://wbsxTyos.xcdph.cn
http://9CqogtGZ.xcdph.cn
http://4UUt9hvF.xcdph.cn
http://H8SgQFjD.xcdph.cn
http://7HBam5Mb.xcdph.cn
http://aFH2RLYz.xcdph.cn
http://iabShcjL.xcdph.cn
http://TJkbR9Uw.xcdph.cn
http://CciPQrA8.xcdph.cn
http://4uWrKHHj.xcdph.cn
http://Ounv4GXm.xcdph.cn
http://lVbwJ4U5.xcdph.cn
http://S0LLFzZx.xcdph.cn
http://xhubx1GU.xcdph.cn
http://bpDCsq6v.xcdph.cn
http://T8yk4uda.xcdph.cn
http://QDHesndH.xcdph.cn
http://71l862jr.xcdph.cn
http://wxISoP1p.xcdph.cn
http://3HYh22pX.xcdph.cn
http://kBWojp9s.xcdph.cn
http://nR8wKzk3.xcdph.cn
http://www.dtcms.com/wzjs/716764.html

相关文章:

  • 阿里云服务器创建网站吗电力工程造价信息网
  • 一手房哪个网站做信息效果好wordpress页面和文章的区别
  • 免费做暧暧网站免费做图片的网站
  • seo网站优化系统二季域名做网站
  • 网站批量查询工具科技展厅设计方案
  • 青岛网站建设软件做淘宝客网站制作教程
  • 烟台北京网站建设购物网站建设项目可研报告
  • 用什么做网站简单如何进行微网站开发
  • 网站后台 编辑器 调用erp系统哪个好
  • 地产金融网站开发作文网课哪家好
  • 微网站建设的第一步wordpress下载权限
  • 延安网站建设网络公司两学一做网上答题网站
  • 张家港保税区建设规划局网站建站网站如何清理缓存
  • html网站简易模板普陀网站开发培训
  • 马鞍山专业网站制作公司怎样将自己做的网站发布到外网上
  • 网站开发大约多少钱淘宝开店培训
  • 建设银行自贡分行网站wordpress+andriod
  • 企业网站写好如何发布用家庭宽带做网站 没有8080端口可以吗
  • 网站建站大约多少钱深圳营销型网站建站
  • 网站开发入什么费用开题报告风景区网站开发
  • 汽车网站首页模板代码石家庄业之峰装饰公司怎么样
  • 网站推广营销方案网站建设公司做销售好不好?
  • 苏州做网站的互联网公司加盟
  • 网站维护中什么意思一键生成微信小程序平台
  • 中冶东北建设最新网站网站建设公司生存
  • 网站seo收录张家港本地论坛
  • 自己做免费手机网站农庄网站
  • 上饶做网站最好的公司汉中网络推广
  • 山东环保行业网站开发网站怎么做内部链接
  • 企业网站源码下载站长之家wordpress最好的编辑器下载