首页
学习
活动
专区
圈层
工具
发布

关于Date对象那些事

在JavaScript内置对象中,有一个很Date对象,它专门用来获取设置日期。 当然自带的方法也很多,这里不一一讲解列举,想回顾的可以移步菜鸟教程:JavaScript Date 对象。...但遇到月末那一天,第二天就应该是1号,这就需要通过月份分别取判断,也可以做,但有点繁琐,这里就不给出了。...设置当前月份的15号 console.log(d); // Tue Jan 15 2019 15:27:54 GMT+0800 (中国标准时间) d.setDate(0);// 3....// 注意,此处是因为在第3步骤中,变量d的月份已经变成了上个月,所以此处再设置15号,就变成了上个月15号 console.log(d); // Sat Dec 15 2018 15:38:31...GMT+0800 (中国标准时间) 注意:在setDate()方法中,写入参数大于月份最大天数,会自动顺移到下个月的日期。

1.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    致敬昨晚熬夜改 bug 的技术团队!连 OpenAI 也躲不过:为什么几行代码能反复干翻大批软件

    危险性最高的两大闰年 bug #1: 在 C / C++ 中添加或减去年份 在使用 Win32 API 的 C/C++ 代码当中,SYSTEMTIME 结构成为常见的民用时间表示方式。...其中的关键,在于我们会声明一个固定大小的数组来保存数据,并假设一年中的每一天在数组中都有相应的单一位置。相信大家已经看出问题了,在闰年中,数组无法给第 366 天(12 月 31 日)留出位置。...在 JavaScript 中添加年份 JavaScript 开发者应该使用 moment.js 来实现这项功能,而且非常简单: var m = moment(); m.add(1, 'years');...== m) d.setDate(d.getDate() - 1); } // 用法示例 var d = new Date(); addYears(d, 1); 这就实现了添加年份,之后会检查是否发生了转至三月的情况...所以如果试图谎报时间,系统就会报错。 所以总的来说,我们建议大家不要耍这种小聪明。 模拟时钟 那该如何正确测试代码在不同日期下是否表现有别?答案就是模拟时钟。 这也是许多可靠系统中的常见模式。

    90110

    将 Date对象 转化为指定格式详解 —— 关于Date对象那些事(番外)

    在 关于Date对象那些事 一文中的第一节,我们就给出了转换日期指定格式的方法。 但是这个方法中,有些地方对于初学者可能有点费解,尤其是正则部分。此处对其做个详解。 1....(typeof d); // "object" 2.获取特定格式的日期猜想 想要通过截取标准格式时间是不太理想的,因为那是一个对象,不好进行字符串操作。...* @return {String} 匹配指定格式的日期时间字符串 * 说明:月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,年(y)可以用 1-4...RegExp.$1是全局属性,当执行任意正则表达式匹配操作时,JavaScript会自动更新RegExp上的全局属性。...补充说明: 关于 RegExp 对象以及它的静态属性 $1可以参考 MDN: RegExp.$1-$9 和 csdn: JavaScript RegExp.$1-$9 属性详解。

    3K10

    JS日期方法操作大全,看这篇就够了

    接下介绍有关 Date对象的所有信息。 时区 我们的世界有数百个时区。在JavaScript中,我们只关心两个, 本地时间和协调世界时(UTC)。 本地时间是指你的计算机所在的时区。...这就是为什么住在格林尼治标准时间之后的地区的人得到的是 6月10日而不是 6月11日。 如果要使用日期字符串参数方法在“本地时间”中创建日期,则需要包括时间。...(2019, 5, 11)) 使用时间戳来创建日期 在JS中,时间戳是自1970年1月1日以来经过的毫秒数(1970年1月1日也称为Unix纪元时间)。...在实际中,我们不应该改变对象,应该在新的日期对象上执行这些操作。...这意味着在创建增量时无需担心计算分钟,小时,天,月等,JavaScript会自动处理。 ?

    7.1K20

    需要知道的JS的日期知识,都在这了

    接下介绍有关Date对象的所有信息 时区 我们的世界有数百个时区。 在JavaScript中,我们只关心两个, 本地时间和协调世界时(UTC)。 本地时间是指你的计算机所在的时区。...这就是为什么住在格林尼治标准时间之后的地区的人得到的是6月10日而不是6月11日。 如果要使用日期字符串参数方法在“本地时间”中创建日期,则需要包括时间。...(2019, 5, 11)) 使用时间戳来创建日期 在JS中,时间戳是自1970年1月1日以来经过的毫秒数(1970年1月1日也称为Unix纪元时间)。...在实际中,我们不应该改变对象,应该在新的日期对象上执行这些操作。...这意味着在创建增量时无需担心计算分钟,小时,天,月等,JavaScript会自动处理。 ?

    3.2K40

    BAT及各大互联网公司2014前端笔试面试题--JavaScript篇

    而更多的题目是我一路以来收集的,也有往年的,答案不确保一定正确,如有错误或有更好的解法,还请斧正。...初级Javascript: 1.JavaScript是一门什么样的语言,它有哪些特点? 没有标准答案。 2.JavaScript的数据类型都有什么?...可自己给该变量定义slice方法,故有时会失效 方法二.obj instanceof Array 在某些IE版本中不正确 方法三.方法一二皆有漏洞,在ECMA Script5中定义了新方法Array.isArray...Ajax是异步JavaScript和XML,用于在Web页面中实现异步数据交互。...9.在Javascript中什么是伪数组?如何将伪数组转化为标准数组? 答案: 伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法来遍历它们。

    1.7K50

    非科班·零基础的自学前端之路

    当你的内部条件不充分的时候,哪怕是给人在背后用皮鞭鞭挞,大神360度24小时无死角环绕式洗脑教学。你仍然不具备一个程序员应该有的基础素养,脱离了有答案的日子后,那你的答案又该从何处寻找?...工作了几年,经历了很多后,最后还是踏上了程序员这条大路上,原因不细表,每个人的选择都有自己的理由。以下为我的从0基础自学以来的所思所想,希望可以给各位同样挣扎在这个阶段的朋友们带来一点参考。...; 2)然后我要将开发人员需要的特性与自身的特性作比较; ①真诚的分析自己,是不是符合上述的条件; ②如果自己有不符合的地方,自己是否有足够的毅力和决心能克服和改变; ③自己克服和改变需要耗费的时长,付出和投入的比例...:睡觉 ③坚定不移的执行,如果有意外了就随时灵活的调整,边工作边自学本来时间就会很少,只能去挤自己一切可能的时间去完成自己的计划。...2.学习前端进行时: 1)学习基础阶段: ①HTML+CSS: 阅读书籍《Head First HTML与CSS》。虽然书本的征订,出版会导致技术书籍没办法得到第一时间的更新。

    75140

    如何用js获取当前月份的天数

    js可以通过Date对象很方便的获取到每月的天数,在初始化Date对象时,我们可以通过这种方式: var d = new Date(2017,2,0); console.log(d.getDate())...; 以上代码可以在控制台输出2015年2月份的天数 Date对象月份从0开始,即0表示1月份,以此类推。...在上面的代码中,我们初始化d为三月份的第0天,由于JavaScript中day的范围为1~31中的值,所以当设为0时,会向前 一天,也即表示上个月的最后一天。...var d = new Date(year, month, 0); return d.getDate(); } 总结:这里我们巧妙的运用了JavaScript中day的范围为1~...31中的值,我们获取第N-1个月的第0天,就是N-1个月的最后一天,这样就获得了第N个月有多少天。

    14.2K50

    我一直在假装努力,你却在真正成长

    这个月开始,有几个好友在朋友圈晒出了毕业照和散伙时的合影。 日子过得真快,又到了毕业季,出了校园,一切都是新的。 愿他们脚下有风,各自辉煌。 再努力努力 回想起当年毕业后,在北京和室友合租的日子。...那时,我在工作,室友在培训。 一天,我下班回来,听见他在电话里和家人争吵,原因就是他母亲说了一句:“有没有在好好看书啊?别给家里浪费钱呀。”...类似的例子,在日常生活中经常见到,当被人问道「什么时候买房?」「什么时候升职?」等等,最常见的答案就是「我再努力努力」; 敢在北上广闯荡,就说明你很「努力」?...是之前一个活动的主题,评论区有些令人深刻的留言: 赚第一笔工资的时候我给老妈买了一件羊毛衫,老妈看着标价牌说了我三天,说我不会过日子,花钱大手大脚,听多了我火蹭一下就上来了,摔门走了,至今都能想象出老爸说妈妈一个人在卧室里呆了一下午的样子...也许只是在刷一些搞笑段子跟娱乐新闻,不想面对明天的问题,继而毫无意义地浪费时间而已吧。 GitChat 是一款基于微信平台的知识分享产品,通过这款产品我们希望改变 IT 知识的学习方式。

    54910

    几个JavaScript极短日期时间代码片段(你值得拥有)

    dt.replace(/-/g,'/'):dt)[i]()) 复制代码 使用了提取公因式,把 重复出现的 getFullYear, getMonth,getDate 给提取出来用every结合而成 2...// 设置日期为0,那么日期就会被设置为上个月的最后一天 d.setDate(0) // 返回上月最后一天日期,因为月份是按索引 0-11 return d.getDate...格式化 在前端项目中,使用日期时间相关的方法,格式化方法频率比较高,那么我们自己实现一个 format方法吧,在实现之前 依然保留传统的使用方法,因为没有我们是单个方法,实现单兵作战高效强悍,实现的时候有些地方我们会做些改变...,具体哪些改变请往下看 /** * @description: 日期时间格式化函数 * @param { Array } args :形参数组,生效的最多为前两个参数 * 1个参数情况: *...}|Y{1,4}|M{1,2}|d{1,2}|D{1,2}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|q|t|S{1,3}/g, match => { // 匹配中的首字符

    1.5K20

    认知升级——不做开始爱好者!

    这个问题也曾经困扰了我很久,书中也找到出了答案。 结婚之后,如何更好的平衡家庭、工作之间的关系呢?阅读本书后,也会茅塞顿开、豁然开朗。...1、你是不是安全感的奴隶 许多人爱犯一个错误,他们总是有那么多着急的事情要做,以至于没有时间关注重要的事情。 2、你是没兴趣还是感兴趣?...就是那些你不会随着外界环境改变而改变的目标。 回顾你的生命,那些让你最幸福、最快乐的时刻,是不是都是来自于生命深深的底部?那些最艰难的日子你默默地坚持,那些黑暗的日子你的眼睛里闪着理想的光。...心里学家调查1万人的快乐程度与收入的关系后发现,虽然收入在某种程度上起重要的作用,但人们更看重与别人比较的结果。...在对你重要的人80岁之后,每天抽出时间来陪陪他们!即便每年5天,也只需要花你一生中不到两个月的时间,你会有一辈子的宁静。 10、小结 好书会让你一口气读完,意犹未尽。

    60140

    Quora 问答:不懂算法却善于开发,如何去大公司工作呢?

    题主在很多面试过程中,因不懂基础算法而面试失败。正文的两个回答,分别从两种角度来回答了题主的问题。题目为译者自拟。 Jim的回答: 每个人都能有所成就,除了那些失去信心并停止了尝试的人。...它是关乎于数字的一场游戏,坚持去面试,学习面试相关的书籍,最终在合适的日子你会遇碰到一群傻蛋问你合适的问题。...早在这些人的20出头的日子,他们已经被印上了这样的标签,这是无法改变的。 因为那些“行为艺术”般的面试题,我已经被netfix,google,linkedin以及许多二、三线的IT公司给拒绝了。...当你错误的对待这些问题时,你就能去一些大公司了。你理应错误的对待这些问题。一个工程师在白板上写满所有算法,显然是一直在研究学习而不是在把活干完。每一个觉得这样招聘是好方法的工程师经理都应该被开除掉。...马上开除,没有任何可同情的。 不,甚至连一个通过了斯坦福博士生资格考试,并且在QuickBooks,turbotax,雅虎广告工作了20年的人都没办法去给一个聪明的傻逼证明自己是聪明的并且能把活干好。

    86250

    PowerBI的M与DAX之争

    写给自学PowerBI的人 前些日子,有一位读者留言一个问题,我写了个公式过去,来回几次都没有解决,最后发现她竟然把DAX公式写在了编辑查询器里,我是五十步笑百步,因为本人也犯过同样的错误!...我把这些问题的答案都写在这一篇文章里。 M和DAX,无论这两门语言的设计初衷和用途如何,同一个工具里面要用到两种不同的语言真让人有点分裂。...M位于PQ中,DAX是在PP中使用,所以如果你想问M和DAX哪个更好,这个问题就好比问洗菜切菜重要还是烹饪更重要?...后的理想时间分配。...(我在视频课程中使用的去重、拆分、提取、逆透视等数据清洗30招就是完全不碰代码来执行的) 还有一些新功能比如示例中的列,你只要输入你想要的结果,电脑就智能地给出了答案。

    2.5K30

    ChatGPT疯狂生成「辣鸡」内容,Stack Overflow气急,连夜封杀!

    不过,想要识别这类答案实际上并不容易,怎样保证「应封尽封」是个很大的问题。 很多专业人士能看出来这种「伪答案」里的错误,但能做的也就是点个踩,不能保证这些内容被清理。...我不知道如何判断一个答案是不是ChatGPT生成的,而且现在自定义标记需要几个月的时间来解决,在及时处理前,这些用户可能继续损害Stack Overflow。...因为,ChatGPT有三个「致命」的缺陷: 1. 输入不能有错 在使用ChatGPT时,必须要精确,哪怕是一个代词(a/an)的改变,答案都会完全不同。...很明显,这是因为在政治哲学中,霍布斯和洛克几乎总是被一起提及,当ChatGPT去网上找霍布斯的资料时,自然就找到了洛克对三权分立的阐述,然后就错误地把这个观点扣在了霍布斯的头上。...当然,ChatGPT并没有运行python,答案其实是从构成GPT-3的互联网数据语料库中收集的概率结果—— ChatGPT在10秒内做出了最结果的最佳猜测,这个猜测很可能是正确的,感觉仿佛就是一台真正的计算机在执行相关的代码一样

    1.3K20

    一夜之间开除40名学生被上诉:在最好的位置上睡觉,是对生命最大的辜负

    他们给临时工开出了如下几种待遇:工作三个小时的人,可以获得一张外场的门票;工作六个小时的人,可以获得一张内场的门票;如果愿意工作一整天,就可以得到一张最前排最中央的位置。...考试时: 不给范围就不会考试,给了范围也只是复印同学准备的答案。 专业课: 学技术不肯动手,学理论不肯动脑。...麻痹大意,躺在功劳簿上过日子,在大学较为宽松的管理制度和相对自由的学习环境中就产生了一种错误的认知,认为大学是用来玩的,就开始了“混日子”。...但海尔没有半句废话,当天就甩出了一份声明。 被开除的那4名员工,并非在休息时间午睡,而是在上班时间,在公共接待的场所睡觉。 于是,舆论又一边倒地支持海尔的决定。...我们已不再年轻,在这个风起云涌的世界从不等待犹豫不决的人。 你可以选择停留,但其他人会选择奔跑,而世界在他人的奔跑中,早已改变了模样。

    51010

    ES6基础入门之let、const

    b = 2; } console.log(b); // 错误 } for(let i = o; i<3; i++) { }; console.log(i); 使用let或者const声明的变量,不能在被重新赋值...常量为引用类型的时候,不能保证不可变 解决引用类型,不可保证不可变 const只能保证地址的指向不改变,但是不能保证地址上的值不能改变 file 怎么去防止常量去引用类型的时候能被修改的情况 Object.freeze...那我告诉你 2、为什么学习JavaScript设计模式,因为它是核心 3、一篇文章把你带入到JavaScript中的闭包与高级函数 4、大厂HR面试ES6中的深入浅出面试题知识点 5、一篇JavaScript...也感谢您的关注,在未来的日子里,希望能够一直默默的支持我,我也会努力写出更多优秀的作品。我们一起成长,从零基础学编程,将 Web前端领域、数据结构与算法、网络原理等通俗易懂的呈现给小伙伴。...分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯。 ---- 若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。

    57520

    在没有DOM操作的日子里,我是怎么熬过来的(上)

    在vue的王国里,操作元素的class列表和内联样式,是数据绑定的一个常见需求。 那vue的办法就是,用v-bind去绑定它们。...然后在Vue中,el属性绑定根视图的id,data属性定义并初始化v-model、双大括号用到的数据和一些其他数据。methods属性定义在v-on中用到的和一些其他方法。更新界面修改数据实现。...那么,在弃用JQ的日子里,Vue是否能承担起操作dom的重任呢? 尤雨溪说,我们Vue 官方是不建议直接操作 DOM 的,Vue 的用途在于视图和数据的绑定。...jQuery本质上只是一个简化了的操作函数库而已,代表的是优化过的JavaScript dom操作。...在公司里用了大半年Vue,体验不用说,个人感觉VueJS是MVVM 里最好的。用 Node.js 来做前后端分离,开发效率实在太快了。

    3K120
    领券