JS计算某一年的土地租金收入和土地承租支出

涉及到多年的地租 , 例如 2024年5月15日 - 2026年5月15日 , 总承包租金是60000

假设 当前年是2024年 , 则计算2024年5月15日-2024年12月31日的租金收入 , 如果是2025年则是2025年1月1日-2025年12月31日

    //示例交易数据  var transactions = [  {   type: "转出土地收益",  money: 37400,  start: "2024-06-07",  end: "2025-06-07"  },  {  type: "转入土地支出",  money: 400,  start: "2024-06-07",  end: "2025-06-07"  }  ]; function calculateYearlyNetAmount(transactions, year) {  var totalIncome = 0; // 总收益  var totalExpense = 0; // 总支出  transactions.forEach(function(transaction) {  var startDate = new Date(transaction.start);  var endDate = new Date(transaction.end);  // 判断交易是否在今年内发生  var yearStartDate = new Date(year, 0, 1); // 当年的第一天  var yearEndDate = new Date(year, 11, 31, 23, 59, 59, 999); // 当年的最后一天(精确到毫秒)  if (startDate <= yearEndDate && endDate >= yearStartDate) {  // 计算今年内交易开始和结束的日期  var startDateInYear = startDate > yearStartDate ? startDate : yearStartDate;  var endDateInYear = endDate < yearEndDate ? endDate : yearEndDate;  // 计算今年内的天数  var daysInYear = (endDateInYear - startDateInYear) / (1000 * 60 * 60 * 24);  // 如果交易完全在今年内,则使用原始金额  // 否则,根据今年内的天数计算部分金额  var yearlyAmount = (startDateInYear === startDate && endDateInYear === endDate) ?  transaction.money :  (transaction.money * daysInYear / ((endDate - startDate) / (1000 * 60 * 60 * 24)));  // 累加总收益或总支出  if (transaction.type === "转出土地收益") {  totalIncome += yearlyAmount;  } else if (transaction.type === "转入土地支出") {  totalExpense += yearlyAmount;  }  }  });  // 计算并返回净金额   return {inMoney : totalIncome , outMoney : totalExpense , finalMoney : (totalIncome - totalExpense).toFixed(2)};}console.log(calculateYearlyNetAmount(transactions , 2024));

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/43688.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么区分住宅IP还是机房IP?机房IP和住宅IP有哪些不同?

在网络技术的应用中&#xff0c;IP地址扮演着至关重要的角色。了解IP地址的种类及其特性&#xff0c;对于进行网络管理、优化网络安全策略、以及实施数据分析等任务至关重要。本文将深入探讨如何区分住宅IP和机房IP&#xff0c;并分析两者的主要差异。 一、IP地址分类简介 IP…

pytorch-RNN存在的问题

这里写目录标题 1. RNN存在哪些问题呢&#xff1f;1.1 梯度弥散和梯度爆炸1.2 RNN为什么会出现梯度弥散和梯度爆炸呢&#xff1f; 2. 解决梯度爆炸方法3. Gradient Clipping的实现4. 解决梯度弥散的方法 1. RNN存在哪些问题呢&#xff1f; 1.1 梯度弥散和梯度爆炸 梯度弥散是…

【人工智能】深度学习:神经网络模型

【人工智能】深度学习&#xff1a;神经网络模型 神经网络基础知识 BP神经网络的概念 单个神经元的结构 CNN模型汇总 LeNet5 模型 AlexNet 模型 VGG模型 Inception Net&#xff08;GoogleNet&#xff09;模型 ResNet &#xff08;残差网络&#xff09; RNN模型&#x…

css实现渐进中嵌套渐进的方法

这是我们想要的实现效果&#xff1a; 思路&#xff1a; 1.有一个底色的背景渐变 2.需要几个小的块级元素做绝对定位通过渐变filter模糊来实现 注意&#xff1a;这里的采用的定位方法&#xff0c;所以在内部的元素一律要使用绝对定位&#xff0c;否则会出现层级的问题&…

小白攻克歌曲“无名的人”,逐句精研的歌唱诀窍

《无名的人》 作词&#xff1a;唐恬 作曲&#xff1a;钱雷 演唱&#xff1a;毛不易 今天不讲解练习技巧&#xff0c;有需要的可以查看往期文章&#xff0c;我给大家带一下无名的人&#xff0c;练习一下情感融入。 对于众多唱歌小白而言&#xff0c;学习歌曲《无名的人》是一…

ctfshow-web入门-文件上传(web164、web165)图片二次渲染绕过

web164 和 web165 的利用点都是二次渲染&#xff0c;一个是 png&#xff0c;一个是 jpg 目录 1、web164 2、web165 二次渲染&#xff1a; 网站服务器会对上传的图片进行二次处理&#xff0c;对文件内容进行替换更新&#xff0c;根据原有图片生成一个新的图片&#xff0c;这样…

【Linux】进程优先级 + 环境变量

前言 在了解进程状态之后&#xff0c;本章我们将来学习一下进程优先级&#xff0c;还有环境变量等。。 目录 1.进程优先级1.1 为什么要有优先级&#xff1f; 2.进程的其他概念2.1 竞争性与独立性2.2 并行与并发2.3 进程间优先级的体现&#xff1a;2.3.1 O(1) 调度算法&#xf…

Apache Web安全分析与增强

Apache HTTP Server 概述 Apache HTTP Server(通常简称为Apache)是一个开源的Web服务器软件,由Apache软件基金会开发和维护。它是全球使用最广泛的Web服务器之一,支持多种操作系统,包括Unix、Linux、Windows和Mac OS X。以下是Apache Web服务器的详细概述,包括其功能特点…

数字高压表0-30kv

最近在制作数字高压表&#xff0c;自己DIY玩玩&#xff0c;有没有朋友一起研究看看

SpringCloud--常用组件和服务中心

常用组件 Euroke和nacos 区别 负载均衡 负载均衡策略有哪些 自定义负载均衡策略

【Red Hat 4.6---详细安装Oracle 19c】---静默方式安装

&#x1f53b; 一、安装前规划 规划项:(本环境) 描述:操作系统版本Red Hat Enterprise Linux Server release 4.6 (Santiago)主机名langtest数据库版本 Oracle 19c IP规划10.10.10.164服务器空间要求根据实际要求数据库名/实例名orcl数据库块大小oracle建库一般设置数据库块大…

物业系统自主研发接口测试框架

1、自主研发框架整体设计 1.1、什么是测试框架? 在了解什么是自动化测试框架之前&#xff0c;先了解一下什么叫框架?框架是整个或部分系统的可重用设计&#xff0c;表现为一组抽象构件及构件实例间交互的方法;另一种定义认为&#xff0c;框架是可被应用开发者定制的应用骨架…

Redis 主从复制,集群与高可用

虽然Redis可以实现单机的数据持久化&#xff0c;但无论是RDB也好或者AOF也好&#xff0c;都解决不了单点宕机问题&#xff0c;即一旦单台 redis服务器本身出现系统故障、硬件故障等问题后&#xff0c;就会直接造成数据的丢失 此外,单机的性能也是有极限的,因此需要使用另外的技…

捷配生产笔记-细间距芯片的表面处理工艺:OSP与沉金工艺的重要性

在现代电子制造领域&#xff0c;随着技术的进步&#xff0c;电子设备变得越来越小型化和高性能化。细间距芯片作为实现这一目标的关键组件&#xff0c;其制造工艺要求极为严格。在这些要求中&#xff0c;表面处理工艺尤为关键&#xff0c;因为它直接影响到芯片的焊接质量和长期…

江苏云服务器适用于哪些场景?

云服务器主要是指一中基于云计算技术的虚拟化服务器&#xff0c;用户能够通过互联网网络进行远程访问和管理&#xff0c;与传统的物理服务器相比较&#xff0c;云服务器更具有可扩展性与灵活性&#xff0c;所以云服务器受到越来越多的企业所使用&#xff0c;同时在各个领域中都…

实验7 数据查询(2)

一、实验目的 学习SQL语言的定义、操纵功能熟悉通过SQL语言对数据库进行查询操作&#xff0c;包括单表查询、多表查询、嵌套查询、集合查询 二、实验软件 MySQL三、实验内容和要求 给定四个关联表&#xff0c;其定义和数据加载如下&#xff1a; 学生表 Student create tab…

Cesium中实现图层组

图层组 某天领导找我&#xff0c;说业务中可能存在多个影像服务为一个图层组&#xff0c;并且需要同时加载和同时在图层列表中上下移动的需求。 例如一些专题地图&#xff0c;包含所有学校、医院、公交站等图层&#xff0c;而这些图层都是单独发布的。 在 Cesium 中确实存在…

前端与嵌入式开发通信之QWebChannel(Qt)

前端与嵌入式开发通信之QWebChannel 最近开发中需要用到和c开发的操作台进行通信的的需求&#xff0c;就找到了这个技术&#xff0c;记录一下 首先需要安装导入 qwebchannel npm i qwebchannel import { QWebChannel } from "qwebchannel"; 初始化qwebchannel并封…

myeclipse开发ssm框架项目图书管理系统 mysql数据库web计算机毕业设计项目

摘 要 随着计算机的广泛应用&#xff0c;其逐步成为现代化的标志。图书馆的信息量也会越来越大&#xff0c;因此需要对图书信息、借书信息、还书信息等进行管理&#xff0c;及时了解各个环节中信息的变更&#xff0c;要对因此而产生的单据进行及时的处理&#xff0c;为了提高高…

vue3 两个组件之间传值

Props 父组件可以通过 props 将数据传递给子组件。这是最常见的组件间通信方式 <!-- 父组件 --><template><ChildComponent :message"parentMessage" /></template><script>import ChildComponent from ./ChildComponent.vue;export…