Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JS生成Van-Picker 指定日期格式~

JS生成Van-Picker 指定日期格式~

作者头像
执行上下文
发布于 2023-07-24 08:49:01
发布于 2023-07-24 08:49:01
34700
代码可运行
举报
文章被收录于专栏:执行上下文执行上下文
运行总次数:0
代码可运行

项目中需要根据后台配置生成指定的Picker日期格式,按照自然月或者按照指定日期生成月区间。

1、第一种,自然月区间格式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
generateDateRanges(year) {
  const dateRanges = [];
  const currentYear = new Date().getFullYear();
  const currentMonth = new Date().getMonth();
  
  // 计算结束月份
  const endMonth = (year >= currentYear) ? currentMonth : 11;
  
  // 将日期格式化为数组对象
  for (let month = 0; month <= endMonth; month++) {
    const startDate = new Date(year, month, 1);
    const endDate = new Date(year, month + 1, 0);
    dateRanges.push({
      label: `${startDate.getMonth() + 1}${startDate.getDate()}日至${endDate.getMonth() + 1}${endDate.getDate()}`,
      value: [`${startDate.getFullYear()}${('0' + (startDate.getMonth() + 1)).slice(-2)}${('0' + startDate.getDate()).slice(-2)}`, `${endDate.getFullYear()}${('0' + (endDate.getMonth() + 1)).slice(-2)}${('0' + endDate.getDate()).slice(-2)}`]
    });
  }
  this.monthObjs = dateRanges
}

输出格式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
  {
    label: '1月1日至1月31日',
    value: [ '20230101', '20230131' ]
  },
  {
    label: '2月1日至2月28日',
    value: [ '20230201', '20230228' ]
  },
  {
    label: '3月1日至3月31日',
    value: [ '20230301', '20230331' ]
  },
  {
    label: '4月1日至4月30日',
    value: [ '20230401', '20230430' ]
  },
  {
    label: '5月1日至5月31日',
    value: [ '20230501', '20230531' ]
  },
  {
    label: '6月1日至6月30日',
    value: [ '20230601', '20230630' ]
  }
]

实际效果

2、第二种,指定日期生成月区间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
customDate(selectYear, date) {
  const now = new Date();
  
  // 如果当前月份为一月,则需要计算去年的所有月份
  const length = now.getFullYear() === selectYear ? now.getMonth() : 12;
  const startOffset = date;
  
  // 定义结束日期的偏移量为起始日期偏移量减一
  const endOffset = startOffset - 1;
  
  // 定义起始月份和结束月份的数组
  const months = Array.from({ length: length }, (_, i) => ({
    start: new Date(i === 0 ? selectYear - 1 : selectYear, i, startOffset),
    end: new Date(i === 11 ? selectYear : selectYear, (i + 1) % 12, endOffset),
  }));
  
  // 将日期格式化为数组对象
  const monthObjs = months.map(({ start, end }) => ({
    label: `${start.getMonth() + 1}${start.getDate()}日至${end.getMonth() + 1}${end.getDate()}`,
    value: [
      `${start.getFullYear()}${(start.getMonth() + 1).toString().padStart(2, '0')}${start.getDate().toString().padStart(2, '0')}`,
      `${end.getFullYear()}${(end.getMonth() + 1).toString().padStart(2, '0')}${end.getDate().toString().padStart(2, '0')}`
    ],
    isStart: end > now,
  }));
  
  this.monthObjs = monthObjs
}

输出结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
  {
    "label": "1月6日-2月5日",
    "value": ["20230106", "20230205"],
  },
  {
    "label": "2月6日-3月5日",
    "value": ["20230206", "20230305"],
  },
  {
    "label": "3月6日-4月5日",
    "value": ["20230306", "20230405"],
  },
  {
    "label": "4月6日-5月5日",
    "value": ["20230406", "20230505"],
  },
  {
    "label": "5月6日-6月5日",
    "value": ["20230506", "20230605"],
  }
]

实际效果

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 执行上下文 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
js时间戳转换日期格式和日期计算
一、时间戳转换日期 1 function formatDate(datetime) { 2 // 获取年月日时分秒值 slice(-2)过滤掉大于10日期前面的0 3 var year = datetime.getFullYear(), 4 month = ("0" + (datetime.getMonth() + 1)).slice(-2), 5 date = ("0" + datetime.getDate()).
半指温柔乐
2018/09/11
29.7K0
【Java 进阶篇】JavaScript 日期和时间详解
JavaScript是一种强大的编程语言,它不仅可以用于处理文本和数字,还可以处理日期和时间数据。在本篇博客中,我们将深入探讨JavaScript中日期和时间的处理方式。不管你是在网页开发、移动应用开发,还是服务端开发,处理日期和时间都是非常重要的一部分。
繁依Fanyi
2023/10/19
3800
JavaScript日期处理
​ 当然,Github上提供了好多优秀的日期处理插件(如:Datejs、date-fns、jquery-dateFormat),然而当处理一些简单的日期操作去引用插件,还是挺耗费资源。
奋飛
2019/08/15
4.5K4
《现代Javascript高级教程》Date类:日期和时间处理
在JavaScript中,Date类是用于处理日期和时间的内置类。它提供了一系列属性和方法,使我们能够操作和管理日期、时间、时区等相关信息。本文将详细介绍Date类的属性、常用方法以及应用场景,并提供相应的代码示例。
linwu
2023/07/27
5430
常用的JS 时间转换相关代码!
1、获取当前时间往前往后多少天! 代码 function getNumTime(num) { let afterDate = new Date(); afterDate.setDate(afterDate.getDate() + num); let year = afterDate.getFullYear(); let month = afterDate.getMonth() + 1; let day = afterDate.getDate(); if (month > 0 &&
执行上下文
2022/07/26
2.3K0
JS日期格式化转换方法
1. 将日期转换为指定的格式:比如转换成 年月日时分秒 这种格式:yyyy-MM-dd hh:mm:ss 或者 yyyy-MM-dd。当然是网上的方法,只是总结下。
跟着阿笨一起玩NET
2020/10/27
17.5K0
JS日期格式化转换方法
post-layout时序仿真_padstart
语法 str.padStart(targetLength [, padString])
全栈程序员站长
2022/09/30
3640
在js中常见的时间格式及其转换
1:ISO 8601 格式:国际标准的日期和时间表示方法。 格式为 "YYYY-MM-DDTHH:mm:ss.sssZ",其中 "T" 是日期和时间的分隔符,"Z" 表示时区。 例如,"2023-09-29T12:34:56Z" 表示 2023 年 9 月 29 日 12 时 34 分 56 秒的时间点。
王小婷
2023/09/20
3.4K0
Java日期处理:格式化、算相差天数、处理日期区间、获当前时间
Java 开发中,日期和时间操作重要。本文剖析 Java 日期处理技巧,如格式化、算天数差、处理区间及用 Calendar 获当前时间。有代码示例解析,助开发者掌握技能并在项目中运用。
Yeats_Liao
2025/01/01
2090
Java日期处理:格式化、算相差天数、处理日期区间、获当前时间
vue 手写一个时间选择器
最近研究了 DatePicker 的实现原理后做了一个 vue 的 DatePicker 组件,今天带大家一步一步实现 DatePicker 的 vue 组件。
小皮咖
2019/11/05
2.5K0
几个JavaScript极短日期时间代码片段(你值得拥有)
日期是不是今天,我们只需要判断 日期的 年月日 是否与 当前日期的 年月日一致即可,所以我们的常规代码片段如下:
coder_koala
2021/11/10
1.2K0
几个JavaScript极短日期时间代码片段(你值得拥有)
教你一招 实现10分钟内轻松将图鸟UI组件迁移到H5
大家好,我是Mandy,今天分享的内容是如何将图鸟UI的组件迁移到原生vue中。有时在图鸟技术群也会碰到一些同学提到这样的问题,如何将图鸟UI的组件用在H5中,今天分享的这篇文章可以作为参考示例,其他的组件也可以如法炮制。
兔云小新LM
2024/01/05
5010
教你一招 实现10分钟内轻松将图鸟UI组件迁移到H5
java 日期格式化工具类
六月的雨在Tencent
2024/03/28
1090
js和java日期的常用相关操作
js日期的相关操作 1. 时间戳时间格式化 代码如下: // 时间戳时间格式化 function timestampToTime(timestamp) { var date = new Da
不愿意做鱼的小鲸鱼
2022/09/26
3K0
日期与日期格式化
**注意:**要想得到当前时间的long date 我们可以用getTime();方法
星哥玩云
2022/09/14
3.9K0
日期与日期格式化
小程序云开发仿爱彼迎小程序 | 云开发实战
目前作者只完成了主页、日期的选择及一个主题民宿页面,这附上源码地址:https://github.com/BeichenloveNancy/mpvue-airbnb/tree/master/mpvue/my-project
腾讯云开发TCB
2020/03/31
3.9K0
小程序云开发仿爱彼迎小程序 | 云开发实战
如何使用 React 构建自定义日期选择器(1)
在 web 上经常看到包含一个或多个日期的表单。无论是出生日期还是航班时间表日期,您总希望用户能够提供了有效的日期。
IMWeb前端团队
2019/12/03
6.4K0
如何使用 React 构建自定义日期选择器(1)
js日期格式化
js日期格式化 每次遇到日期格式化都要去网上搜一次,这次认真做次笔记。 <html> <head> <script> function test(){ //Js获取当
河岸飞流
2019/09/11
11.8K0
js日期格式化
JavaScript日期格式化及解析
JavaScript开发经常需要对日期进行转换,把日期转成字符串或者从字符串生成日期。JavaScript日期对象内置了简单的日期格式化方法toString()和日期解析方法Date.parse(),这两个方法有较大的局限性,不能自定义自定义日期格式化和解析的字符串格式。下面列出一些常用的日期处理JS库。
全栈程序员站长
2022/09/01
1.8K0
小程序日历选择源码
因为在开发一个微信小程序与海康威视人脸机设备的通讯系统,所以隔了多个月没写什么原创文章了,目前项目硬件通讯功能和用户控制基本打通;今天就直接带来干货,发一个小程序日历选择并计算当前日期之差的天数代码。想继续看记得关注哦~
谭广健
2021/09/07
2.8K0
相关推荐
js时间戳转换日期格式和日期计算
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验