吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 839|回复: 4
收起左侧

[讨论] 分享一个JS日期函数

[复制链接]
cqwcns 发表于 2022-5-14 21:46
自己准备写一个日期选择器,数据上经常需要获得本月、下月、前3月、后3月等。
为了方便,自己写了一个函数,函数接受一个参数(偏移offset,默认为0),用于进行月偏移。


例如当前年月是2022-5,调研结果示例:
[JavaScript] 纯文本查看 复制代码
console.log('去年本月:', method.getYearMonth(-12))
console.log('半年前:', method.getYearMonth(-6))
console.log('上月:', method.getYearMonth(-1))
console.log('本月:', method.getYearMonth())
console.log('下月:', method.getYearMonth(1))
console.log('半年后:', method.getYearMonth(6))
console.log('明年本月:', method.getYearMonth(12))


函数代码:
[JavaScript] 纯文本查看 复制代码
const method = {
    getYearMonth: (offset = 0) => {
        // 获得当前年月
        const date = new Date(),
            y = date.getFullYear(),
            m = date.getMonth() + 1;
        // 获得偏移年月
        const year = Math.floor((y * 12 + m + offset) / 12.000000000000001),
            month = (y * 12 + m + offset) % 12 || 12;
        // 返回
        return [year, month]
    }
};

console.log(method.getYearMonth(-12000))
console.log('👆前1千年👆')
console.log(method.getYearMonth(-10))
console.log(method.getYearMonth(-9))
console.log(method.getYearMonth(-8))
console.log(method.getYearMonth(-7))
console.log(method.getYearMonth(-6))
console.log(method.getYearMonth(-5))
console.log(method.getYearMonth(-4))
console.log(method.getYearMonth(-3))
console.log(method.getYearMonth(-2))
console.log(method.getYearMonth(-1))
console.log('👆前10个月👆')
console.log('当前月:', method.getYearMonth())
console.log('👇后10个月👇')
console.log(method.getYearMonth(1))
console.log(method.getYearMonth(2))
console.log(method.getYearMonth(3))
console.log(method.getYearMonth(4))
console.log(method.getYearMonth(5))
console.log(method.getYearMonth(6))
console.log(method.getYearMonth(7))
console.log(method.getYearMonth(8))
console.log(method.getYearMonth(9))
console.log(method.getYearMonth(10))
console.log('👇后1千年👇')
console.log(method.getYearMonth(12000))


以上,欢迎各位大佬讨论、优化,谢谢。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
blindcat + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

kof21411 发表于 2022-5-14 22:12
你可以了解一些datejs这个库的
PanGao3058 发表于 2022-5-15 00:21
头像被屏蔽
daisypojie 发表于 2022-5-15 08:50
deepgo 发表于 2022-5-15 23:31
非常感谢楼主分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 14:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表