["2023-02-24","2023-03-24"]与["2023-04-24","2023-06-24"]用js怎么比较大小
时间: 2023-11-03 16:12:35 浏览: 58
你可以使用以下方式进行比较:
1. 将日期字符串转换为 Date 对象:
```javascript
const date1 = new Date("2023-02-24");
const date2 = new Date("2023-04-24");
```
2. 使用比较运算符比较两个 Date 对象:
```javascript
if (date1 < date2) {
console.log("Date 1 is before date 2");
} else if (date1 > date2) {
console.log("Date 1 is after date 2");
} else {
console.log("Date 1 and date 2 are the same");
}
```
这种方法适用于比较任意两个日期,不仅仅是上述提到的日期范围。
相关问题
function commonDateJiSuan(Strat, End) { if (Strat && End) { // 设置假期开始日期和结束日期 const startDate = new Date(Strat); const endDate = new Date(End); // 设置节假日列表 const holidayList = [ //元旦 new Date('2023-01-01'), //春节 new Date('2023-02-01'),new Date('2023-02-02'),new Date('2023-02-03'), new Date('2023-02-04'),new Date('2023-02-05'),new Date('2023-02-06'),new Date('2023-01-07'), //清明节 new Date('2023-04-04'),new Date('2023-04-05'),new Date('2023-04-06'), //劳动节 new Date('2023-05-01'),new Date('2023-05-02'),new Date('2023-05-03'), //端午节 new Date('2023-06-02'),new Date('2023-06-03'),new Date('2023-06-04'), //中秋节 new Date('2023-09-30'),new Date('2023-10-01'),new Date('2023-10-02'), //国庆节 new Date('2023-10-03'),new Date('2023-10-04'),new Date('2023-10-05'), new Date('2023-10-06'),new Date('2023-10-07') ]; // 排除周六、周日和节假日 const count = Array.from( {length: (endDate - startDate) / (1000 * 60 * 60 * 24) + 1}, (_, i)=> new Date(startDate.getTime() + i * 24 * 60 * 60 * 1000)).filter((date)=> date.getDay() !== 0 && date.getDay() !== 6 && !holidayList.some((holiday)=> holiday.getFullYear() === date.getFullYear() && holiday.getMonth() === date.getMonth() && holiday.getDate() === date.getDate()) ).length; return count; } }
这段代码是一个 JavaScript 函数,用于计算两个日期之间的工作日天数(排除周六、周日和节假日)。函数的参数 `Start` 和 `End` 分别表示起始日期和结束日期,格式为 `'yyyy-mm-dd'`。
函数首先创建了起始日期对象 `startDate` 和结束日期对象 `endDate`,然后定义了一个节假日列表 `holidayList`。节假日列表中包含了元旦、春节、清明节、劳动节、端午节、中秋节、国庆节等节日的日期。
接着,函数使用 `Array.from()` 方法创建一个数组,数组的长度为起始日期和结束日期之间相差的天数加1。然后使用 `filter()` 方法将数组中的周六、周日和节假日排除掉,最后返回剩余的工作日天数。
需要注意的是,这个函数计算工作日天数的算法并不完全准确,因为某些节假日可能会调整工作日。如果需要更精确的计算方法,可以参考国务院关于放假的公告和相关法律法规,或者调用第三方的节假日 API。
[ { "vehicleId": "11e085747d29f1a34344eaff0f56fa24", "vehicleCode": "吉BF9287", "brandId": "重汽", "vehicleVin": "LZZ7CL3D7LC333479", "engineCode": "200817620007", "drivingSignDate": "2021-06-21 00:00:00", "createTime": "2023-02-28 09:55:46", "yxnEquipmentCode": "865085057873130", "yxnSn": "4G91220400100028", "signType": "046001", "signFlag": 1, "billPrice": 0.13, "signMileage": 370854, "mileageCurrent": 0, "mileageLast": 370854, "signStartTime": "2023-04-01 00:00:00" }, { "vehicleId": "d62dec234cba9ae77fe9d14fd361debe", "vehicleCode": "吉CB3110", "brandId": "重汽", "vehicleVin": "LZZ7CL3D1HC234728", "engineCode": "190317767067", "drivingSignDate": "2017-11-02 00:00:00", "createTime": "2023-03-10 16:55:28", "yxnEquipmentCode": null, "yxnSn": null, "signType": "046001", "signFlag": 1, "billPrice": 0.16, "signMileage": 800183, "mileageCurrent": 800283.56, "mileageLast": 800183, "signStartTime": "2023-04-01 00:00:00" } ]修改上述数据结构,添加一个total属性,如果mileageLast=0,total的值为signMileage乘以billPrice,如果mileageLast不是0,total的值为mileageCurrent减去mileageLast乘以billPrice 前端 es6
以下是根据您提供的数据结构示例代码,使用ES6的箭头函数和条件运算符来添加`total`属性的修改后的数据结构:
```javascript
const data = [
{
"vehicleId": "11e085747d29f1a34344eaff0f56fa24",
"vehicleCode": "吉BF9287",
"brandId": "重汽",
"vehicleVin": "LZZ7CL3D7LC333479",
"engineCode": "200817620007",
"drivingSignDate": "2021-06-21 00:00:00",
"createTime": "2023-02-28 09:55:46",
"yxnEquipmentCode": "865085057873130",
"yxnSn": "4G91220400100028",
"signType": "046001",
"signFlag": 1,
"billPrice": 0.13,
"signMileage": 370854,
"mileageCurrent": 0,
"mileageLast": 370854,
"signStartTime": "2023-04-01 00:00:00"
},
{
"vehicleId": "d62dec234cba9ae77fe9d14fd361debe",
"vehicleCode": "吉CB3110",
"brandId": "重汽",
"vehicleVin": "LZZ7CL3D1HC234728",
"engineCode": "190317767067",
"drivingSignDate": "2017-11-02 00:00:00",
"createTime": "2023-03-10 16:55:28",
"yxnEquipmentCode": null,
"yxnSn": null,
"signType": "046001",
"signFlag": 1,
"billPrice": 0.16,
"signMileage": 800183,
"mileageCurrent": 800283.56,
"mileageLast": 800183,
"signStartTime": "2023-04-01 00:00:00"
}
];
const modifiedData = data.map(item => ({
...item,
total: item.mileageLast === 0 ? item.signMileage * item.billPrice : (item.mileageCurrent - item.mileageLast) * item.billPrice
}));
console.log(modifiedData);
```
在上述代码中,使用`map`方法遍历原始数据数组,并使用对象扩展运算符`...`将原始对象的所有属性复制到新对象中。然后,根据`mileageLast`的值使用条件运算符来计算`total`属性的值,并将新对象添加到`modifiedData`数组中。
请注意,这只是一个示例代码,你需要根据你的实际情况进行相应的调整。
阅读全文