網(wǎng)站首頁(yè) 前端文檔 正文
?JS四舍五入保留兩位小數(shù)-CSDN博客
function getMonthStartAndEnd(dateString) {
const date = dateString ? new Date(dateString) : new Date();
const year = date.getFullYear();
const month = date.getMonth() + 1;
// const firstDay = new Date(year, month - 1, 1);
const lastDay = new Date(year, month, 0);
const formattedFirstDay = `${year}-${month.toString().padStart(2, '0')}-01`;
const formattedLastDay = `${year}-${month.toString().padStart(2, '0')}-${lastDay.getDate()}`;
return { firstDay: formattedFirstDay, lastDay: formattedLastDay };
}
console.log(getMonthStartAndEnd('2023-11-15'));
// { "firstDay": "2023-11-01", "lastDay": "2023-11-30" }
沒(méi)有傳入?yún)?shù),默認(rèn)為當(dāng)天日期。
首先根據(jù)傳入的日期字符串(或者當(dāng)前日期)創(chuàng)建一個(gè) Date 對(duì)象。然后通過(guò) Date 對(duì)象的方法獲取年份和月份,并計(jì)算出該月的最后一天的 Date 對(duì)象。第一天都是1號(hào),不用額外計(jì)算。
時(shí)間使用ES2017的padStart方法對(duì)兩位數(shù)補(bǔ)零。
獲取到的年月日數(shù)據(jù)后,使用模板字符串``拼接出?"YYYY-MM-DD" 的日期格式。
new Date(year, month, day)? 按給定的參數(shù)創(chuàng)建日期對(duì)象
在JavaScript中,創(chuàng)建Date對(duì)象時(shí),可以使用new Date(year, month, day)的形式返回指定日期,三個(gè)參數(shù)的含義如下:
- year:年份,四位數(shù)的整數(shù)值。
- month:月份,從0開(kāi)始計(jì)數(shù),范圍是0-11,其中0表示一月,1表示二月,依此類推。所以如果要獲取yyyy年mm月dd日,月份記得要-1,new Date(yyyy,mm-1,dd)。比如現(xiàn)在是12月,那么month要傳11。
- day:日期,從1開(kāi)始計(jì)數(shù),范圍是1-31,具體取決于指定月份的天數(shù)。0表示上一個(gè)月的最后一天。
// 假設(shè)當(dāng)前是2023年11月(curr_year = 2023, curr_month = 10)。
let curr_year = 2023
let curr_month = 10
console.log(new Date(curr_year, curr_month, 0))
//curr_year為2023,curr_month為10(代表11月)。
//參數(shù)0表示上一個(gè)月的最后一天。
//Tue Oct 31 2023 00:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
console.log(new Date(curr_year, curr_month+1, 0))
//curr_year為2023,curr_month + 1表示下一個(gè)月,即12月。
//參數(shù)0表示上一個(gè)月的最后一天。
//Thu Nov 30 2023 00:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
console.log(new Date(curr_year, curr_month, 1))
//curr_year為2023,curr_month為10(代表11月)。
//參數(shù)1表示當(dāng)前月份的第一天。
//Wed Nov 01 2023 00:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
console.log(new Date(curr_year, curr_month+1, 1))
//curr_year為2023,curr_month + 1表示下一個(gè)月,即12月。
//參數(shù)1表示下一個(gè)月的第一天。
//Fri Dec 01 2023 00:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
原文鏈接:https://blog.csdn.net/donghua201/article/details/134715319
- 上一篇:沒(méi)有了
- 下一篇:沒(méi)有了
相關(guān)推薦
- 2022-06-30 C++四種case的詳細(xì)介紹小結(jié)_C 語(yǔ)言
- 2022-04-04 react Ant Design 實(shí)現(xiàn)menu導(dǎo)航菜單
- 2023-04-07 C#快速實(shí)現(xiàn)IList非泛型類接口的自定義類作為數(shù)據(jù)源_C#教程
- 2022-09-09 python?對(duì)excel交互工具的使用詳情_(kāi)python
- 2022-05-10 ioc注解方式和xml方式混用
- 2022-09-02 docker搭建redis哨兵集群并且整合springboot的實(shí)現(xiàn)_docker
- 2022-11-11 C#非托管泄漏中HEAP_ENTRY的Size對(duì)不上解析_C#教程
- 2022-09-22 vrrp協(xié)議與keepalived淺析
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支