安装dayjs

npm install dayjs

yarn add dayjs

pnpm install dayjs

方法一.

判断当天是不是周日 如果是就减一周

dateHandler(week = 0) {const timestamp = Math.round(new Date())const date = new Date(timestamp)const weekday = date.getDay()const we = weekday === 0 ? week - 1 : weekconst startWeek = dayjsH().add(we, 'week').startOf('week').add(1, 'day').format('YYYY-MM-DD')const endWeek = dayjsH().add(we, 'week').endOf('week').add(1, 'day').format('YYYY-MM-DD')}

方法二.

import dayjs from 'dayjs'
import weekday from 'dayjs/plugin/weekday'
import 'dayjs/locale/zh-cn'
dayjs.extend(weekday)
dayjs.locale('zh-cn')<script>dateHandler(week = 0) {const we = weekconst startWeek = dayjs().add(we, 'week').startOf('week').format('YYYY-MM-DD')const endWeek = dayjs().add(we, 'week').endOf('week').format('YYYY-MM-DD')
}
</script>

代码解析:

import weekday from 'dayjs/plugin/weekday'这段代码使用了 Day.js 库中的插件 weekday。这个插件添加了一个 weekday() 方法,用于获取指定日期的星期几。例如,假设我们有一个表示日期的 Day.js 对象:const day = dayjs('2023-04-25');我们可以使用 weekday() 方法获取该日期是星期几:day.weekday(); // 2 (星期二)默认情况下,Day.js 将星期天视为每周的第一天,因此返回值范围为 0 到 6,其中 0 表示星期天,1 表示星期一,依此类推。但是,你也可以通过传递一个数字来设置不同的开始日期,例如:day.weekday(1); // 1 (星期一)这样就会将星期一视为每周的第一天,并返回相应的值。总之,weekday 插件为 Day.js 添加了获取日期星期几的方法,让处理日期相关的任务更加方便。
dayjs.extend(weekday)通过 extend() 方法可以扩展其功能。weekday 是 dayjs 自带的一个插件,它提供了一些用于获取、设置周几的方法。通过执行 dayjs.extend(weekday),就可以将 weekday 插件装载到 dayjs 中,从而在代码中使用该插件提供的方法。该插件提供的方法包括:.weekday():获取当前日期是本周的第几天,0 表示周日,1 表示周一,依此类推。
.set('weekday', n):将日期设置为本周的第 n 天,n 的取值范围为 0~6。
.startOf('week'):将日期设置为本周的开始(周日)。
.endOf('week'):将日期设置为本周的结束(周六)。
使用该插件可以方便地对日期进行周几的计算和设置,并且能够避免因本地化导致的不同周的起始和结束时间的差异问题。
import 'dayjs/locale/zh-cn'这段代码是用来引入Day.js库中的中文简体语言包,其作用是将Day.js库中的英文单词和短语转换成中文简体形式,以便于在中文环境下使用。在Day.js库中,通过引入不同语言包,可以实现对全球各种语言的本地化支持。当我们需要在页面中展示日期时间信息时,可以使用Day.js库进行格式化和处理,通过引入相应的语言包,可以确保显示的日期时间信息符合当前用户所在地区的语言习惯,提升用户体验。具体来说,引入' dayjs/locale/zh-cn'语言包后,就可以使用Day.js库提供的API对日期时间进行如下操作:格式化日期时间,例如:dayjs().locale('zh-cn').format('YYYY年MM月DD日 HH:mm:ss')
解析日期时间字符串,例如:dayjs('2023年04月25日', 'YYYY年MM月DD日').locale('zh-cn')
获取时间差,例如:dayjs('2023年04月25日').locale('zh-cn').fromNow()
dayjs.locale('zh-cn') 是 Day.js 中用于设置当前语言环境为中文简体的方法。具体来说,它的作用是将 Day.js 的日期、时间等输出以及解析方式转换为符合中文简体语言环境的格式。例如,使用 dayjs().format('YYYY年MM月DD日') 输出的日期会变成类似于“2023年04月25日”的格式,而不是默认的“2023-04-25”格式。除了简单的日期格式化之外,它还会影响到 Day.js 中其他一些与日期有关的操作,比如计算两个日期之间相差的天数或者小时数等。这意味着,在设置了适当的语言环境后,你可以更方便地以自然语言的方式处理日期和时间数据。需要注意的是,如果你在代码中多次使用了 dayjs.locale('zh-cn'),那么它只会影响到最后一次调用之后创建的 Day.js 对象。如果你希望全局设置某个语言环境,可以通过修改 dayjs.localeData() 方法返回的对象来实现。

使用场景

微信小程序 - 冲浪吖 - 封装的预约时间组件

dayjs在周日获取当前周第一天的时间但是显示下一周第一天的时间-解决办法相关推荐

  1. java获取一年的周数、单周开始时间与结束时间、一年所有周开始时间与结束时间、月开始时间与结束时间

    java获取一年的周数.单周开始时间与结束时间.一年所有周开始时间与结束时间.月开始时间与结束时间 package com.frgk.produce.util;import org.springfra ...

  2. 钉钉授权时报获取钉钉用户信息失败,失败原因:访问ip不在白名单之中的解决办法

    前言 公司里的一个钉钉h5应用项目,进入里需要钉钉授权,提示:钉钉授权时报获取钉钉用户信息失败,失败原因:访问ip不在白名单之中的解决办法,这个错误有一段时间了,后来在官方的文档里找到解决方法 钉钉官 ...

  3. 封印者无法从更新服务器获取补丁文件,封印者客户端打不开怎么办 封印者客户端打不开解决办法一览...

    封印者客户端打不开怎么办?封印者客户端打不开解决办法一览.封印者打不开怎么处理?很多朋友进入游戏的时候会遇到各种弹窗或者进不了游戏,碰到这种情况要怎么解决呢?下面就来看一看封印者打不开解决方法汇总,希 ...

  4. php获取微信图片访问权限,微信小程序访问图片出现403,图片防盗链的解决办法...

    在写小程序的时候,访问一个网址获取图片,但是显示会出现403(防止盗链)的错误. 总结了一下,有两种方法是可以解决这个问题的:使用images.weserv.nl方案 使用no-referrer方案 ...

  5. 微信jsapi支付获取code_微信JSAPI公众号支付在部分机型上出现appid参数错误的解决办法 - YangJunwei...

    都说微信支付的坑比较多,老杨感觉还行,就是开始周期和调试过程比较费时费力-_-! 今儿在调试一个基于微信JSAPI公众号的支付项目时发现,部分机型(比如iphone7/vivo-x6d)中微信支付获取 ...

  6. PHP获取上个月当月下一个月的相对应时间的详解

    时间各个字母的含义: a - "am" 或是 "pm" A - "AM" 或是 "PM" d - 几日,二位数字,若不足 ...

  7. 根据当前时间获取当前周的周一到周日的日期

    根据当前时间获取当前周的周一到周日的日期 public class DateUtils {/*** 周一* @return*/public String getMonday(){SimpleDateF ...

  8. MySQL里获取当前周、月、季的第一天/最后一天

    mysql 获取当年第一天的年月日格式: SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY); MySQL里获取当前周.月.季的第一天 ...

  9. 获取当前周的周一的日期和周日的日期

    // 计算本周的日期 getDate (n) { let now = new Date() let year = now.getFullYear() // 因为月份是从0开始的,所以获取这个月的月份数 ...

最新文章

  1. excel中日期设置星期
  2. 92行JavaScript代码实现的类似Excel外观的UI
  3. Vue 导入文件import、路径@和.的区别
  4. (84)多周期路径约束基础
  5. Pytorch简单使用MINIST数据集
  6. 常微分方程在计算机的应用,简述计算机数学软件在常微分方程中的应用
  7. archlinux for wps 字体缺失解决办法
  8. python不等于怎么表达_Python不等于怎么写
  9. 【斯坦福大学公开课】Stanford NLP: Lesson 1 Intro
  10. [Python]_ELVE_centos7安装Python3.7.1与Python2共存
  11. 计算机再带word打不开,电脑上 word打不开怎么办(精选).doc
  12. html鼠标悬停改变指针,把鼠标指针悬停在 div 元素上,它的外观会逐渐改变
  13. range.FormulaR1C1属性
  14. 从找不到iTv\iTvApp.exe,到Duilib加载资源文件失败的通用解法
  15. 微信小程序订阅消息报错 requestSubscribeMessage:fail can only be invoked by user TAP gesture.
  16. android锁机如何制作教程视频教程,Android一枚简单锁机样本的测试与浅析
  17. (转)如何动手打造属于自己的智能家居
  18. Illustrator 教程:如何在 Illustrator 中应用任意形状渐变?
  19. 计算机专业树立职业理想,对理想职业的要求
  20. 全国计算机公共基础知识点

热门文章

  1. [翻译]Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neu
  2. AD域服务器搭建 (图文详解)
  3. 用matlab实现2fsk,基于MATLAB的2FSK的课程设计
  4. Clion编译Qt项目CMake Error at CMakeLists.txt:11 (find_package): By not providing “FindQt6.cmake“ in CM
  5. jsplumb拖线_利用jsPlumb实现基于Html5拖拽连线
  6. Linux|编译最新版的openssh-server-9.3的rpm包(一)
  7. 韦东山 数码相框 项目学习 (七)awtk的移植
  8. 【生存分析】参数模型 - 加速失效(AFT)模型
  9. 倦怠和枯燥_避免倦怠的13种方法
  10. 国产数据库达梦与ORACLE的异同概述