javascript中Date对象的初始化方法
为什么80%的码农都做不了架构师?>>>
在前端代码中难免会涉及到时间的操作,如何构造一个Date对象呢?javascript为我们提供如下几种方式:
new Date("month dd,yyyy hh:mm:ss");new Date("month dd,yyyy");new Date(yyyy,mth,dd,hh,mm,ss);new Date(yyyy,mth,dd);new Date(ms);
其中:
- month:用英文表示月份名称,从January到December
- mth:用整数表示月份,从0(1月)到11(12月)
- dd:表示一个月中的第几天,从1到31
- yyyy:四位数表示的年份
- hh:小时数,从0(午夜)到23(晚11点)
- mm:分钟数,从0到59的整数
- ss:秒数,从0到59的整数
- ms:毫秒数,为大于等于0的整数
构造函数中部分参数为负数的情况:
>new Date(1990,11,-1)
>Thu Nov 29 1990 00:00:00 GMT+0800 (中国标准时间)
>new Date(1990,10,-1)
>Tue Oct 30 1990 00:00:00 GMT+0800 (中国标准时间)
>new Date(1990,10,-2)
>Mon Oct 29 1990 00:00:00 GMT+0800 (中国标准时间)
>new Date(1990,-1,-2)
>Tue Nov 28 1989 00:00:00 GMT+0800 (中国标准时间)
>new Date(1990,-1,0)
>Thu Nov 30 1989 00:00:00 GMT+0800 (中国标准时间)
上面的结果,你可能会有疑惑,不急,且跟我一起往下看:
在月份小于0时,构造函数会在月份为0的基础上,向上X月,如:
new Date(2015,-1,1) Mon Dec 01 2014 00:00:00 GMT+0800 (中国标准时间)
在日小于1时,构造函数会在天数为1的基础上,向上X天,如:
new Date(2015,0,0) Wed Dec 31 2014 00:00:00 GMT+0800 (中国标准时间)
如果两者都为负数,可以先计算月,再计算日,得出正确结果,如:
new Date(2015,-1,0) Sun Nov 30 2014 00:00:00 GMT+0800 (中国标准时间)
如果月大于11,日大于当月天数,自动向后推移,如(2015年2月份只有28天):
new Date(2015,1,29) Sun Mar 01 2015 00:00:00 GMT+0800 (中国标准时间)
也就是说在开发过程中,我们完全可以使用new Date(yyyy,mm,dd)构造函数提供的这一特性,完成上一日,下一日,上一月,下一月这样的日期操作。
上一日:
new Date(yyyy,mm,dd-1)
下一日:
new Date(yyyy,mm,dd+1)
上一月:
new Date(yyyy,mm-1,dd)
下一月:
new Date(yyyy,mm+1,dd)
在IE9、Chrome及Firefox浏览器实测通过。 Date对象的其他方法
转载于:https://my.oschina.net/benwen/blog/368067
javascript中Date对象的初始化方法相关推荐
- JavaScript中Date对象在IOS中的坑及解决方案
踩坑记录: 使用vant-ui库中DatetimePicker 时间选择,初始化时间列表或者动态赋值选择时间项时IOS报错: [Vue warn]: Invalid prop: custom vali ...
- javascript中Date对象及方法
Date对象: 该对象呈现时间中的某个时刻.其本质是自1970年1月1日(UTC)起经过的毫秒数,相关属性的方法如下:(如果Date对象中传入指定的时间,则以传入的指定时间返回相关数据,就不会以本地时 ...
- Javascript中Date对象的使用
JavaScript 没有一个基本的日期数据类型,所以我们只能显式地创建Date对象.我们创建新的Date对象和创建String对象的方式是一样的,使用关键字new和Date构造函数.下面这行创建了一 ...
- java getday_javascript中Date对象的getDay方法使用指南
Date对象有个getDay方法,它根据本地时间,返回一个具体日期中一周的第几天.返回值从0~6,分别对应周日~周六 getDay 0 1 2 3 4 5 6 星期几 周日 周一 周二 周三 周四 周 ...
- 在js中Date对象用getDay方法get到的是个啥玩意儿?
懒得写日期加减的逻辑,于是在网上随便拷贝了个代码进来,结果,我输入2020-04-29,加三个月后get到的却是2020-06-03 开始还没有发现问题在哪,结果是getDay的问题,所以这到底get ...
- JavaScript中的对象比较[重复]
本文翻译自:Object comparison in JavaScript [duplicate] This question already has answers here : 这个问题已经在这里 ...
- 创建健壮的isArray()函数(JavaScript中判断对象类型的种种方法)
我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...
- 检查值是否是JavaScript中的对象
如何检查值是否是JavaScript中的Object? #1楼 尝试这个 if (objectName instanceof Object == false) {alert('Not an objec ...
- JavaScript 中的对象拷贝(深拷贝、浅拷贝)
对象是 JavaScript 的基本块.对象是属性的集合,属性是键值对.JavaScript 中的几乎所有对象都是位于原型链顶部 Object 的实例. 介绍 如你所知,赋值运算符不会创建一个对象的副 ...
最新文章
- 53亿美元,今年最大一笔杠杆并购案!为什么会是它?
- 2020-08-07 光纤通信第二章知识点整理
- 几行Python代码,爱上Python编程
- 1137.第N个泰波那契数
- vscode 连接服务器jupyter_VScode中使用jupyter notebook
- Netty in action—第一个Netty应用
- 主机甲采用停等协议向主机乙_TCP/IP 协议——详解篇
- 【车牌识别】基于matlab GUI模板匹配车牌识别【含Matlab源码 958期】
- C语言考试上机操作题库(基础)(参考)
- sxos中文官网_Canva中文官网下载-Canva中文版下载安装v2.83.0
- 用计算机算标准曲线,标准曲线计算软件
- Java 大厂面试必刷题 Day1:何为面向对象编程的思想?面向对象三大特征是什么?
- 技术经理成长复盘-处理线上问题
- 有AI就不搬砖?超乎你的想象!道翰天琼认知智能机器人平台API接口大脑为您揭秘。
- 图标显示方框问题的一种原因
- 计算机图形学6--讨论多边形
- viper4android+2.6,ViPER4Androi安卓音效驱动
- 【华为重启门】华为/荣耀手机一直自动重启原因解决方案(荣耀V10)
- java字符串数组转数字数组_Java数字字符串如何转化为数字数组并且排序
- 网络中数据的封装与解封装
热门文章
- 第五章 Response(JavaTM Servlet 规范3.1 )
- hdu.1430.魔板(bfs + 康托展开)
- html5中的一些标签学习总结
- Csharp+Asp.net系列教程(四)
- Github的简单使用
- 2 什么是计算机网络设置密码,计算机网络技术及应用(第2版)第6章网络操作系统基本配置.ppt...
- java -XX:+PrintFlagsInitial该命令可以查看所有JVM参数启动的初始值
- android底部导航栏svg,vue开发移动端底部导航条功能
- MYSQL中where子句与having子句的区别
- Java技术:项目构建工具Maven最佳替代者gradle介绍