Javascript中Date类型和Math类型详解


Posted in Javascript onFebruary 27, 2016

Date类型

ECMASCript中的Date类型是在早期中Java中的java.util.Date类基础上构建的。为此Date类型使用自UTC(国际协调时间)1970年1月1日午夜(0时)开始经过的毫秒数来保存日期。

创建日期对象

1.创建当前日期。不需要传入参数
2.创建指定日期。需要传入参数,必须传入表示该日期的毫秒数(即从1970年1月1日午夜起至该日期止经过的毫秒数)。为了简化这一计算过程,ECMAScript提供了两个方法:Date.parse()和Date.UTC()。

var now = new Date()//新创建的对象自动获得当前日期和时间
var someDate = new Date('May 25, 2004')
var allFives = new Date(2015, 4, 4, 17, 55, 55)

Date.parse()和Date.UTC()

Date.parse()

接收一个表示日期的字符串参数,然后尝试根据这个字符串返回相应日期的毫秒数
var someDate = new Date(Date.parse('May 25,2015'))
Note:ECMA-262没有定义Date.parse()应该支持那种日期格式,因此这个方法因实现而异,而且通常因地区而异。而实际上将表示日期的字符串传递给Date构造函数,也会在后台调用Date.parse()。

Date.UTC()

参数分别是:年份,基于0的月份,日,小时,分钟,秒,以 及毫秒数。只有前两个参数是必须的。如果省略其他参数,则统统假设为0.

// GMT时间2016年1月1日午夜0时
var M = new Date(Date.UTC(2016, 0));

// GMT时间2015年5月5日下午5:55:55
var allFives = new Date(Date.UTC(2015, 4, 4, 17, 55, 55));

Note:Date构造函数也会模仿Date.UTC(),但有一点明显不同:日期和时间都基于本地时区而非GMT创建。不过Date构造函数仍与Date.UTCf()接收的参数相同。

Date.now()

返回调用这个方法时的日期和时间的毫秒数。

// 取得开始时间
var start = Date.now();

// 调用函数
doSomthing();

// 取得停止时间
var stop = Date.now();

result = stop - start;

兼容性:IE9+,Firfox3+,Safari3+,Opera10.5,Chrome。在不支持它的浏览器中,使用+操作符把Date对象转换成字符串,也可以达到同样目的

日期格式化方法

将日期格式化为字符串的方法

  1. toDateString()
  2. toTimeString()
  3. toLocalDateString()
  4. toLocalTimeString()
  5. toUTCString()

推荐:toUTCString()

Note:UTC日期指的是没有时区偏差的情况下(将日期转换为GMT时间)的日期值。

Math类型

min( )和max( )

var value = [1,2,3,4,5,6,7,8];
var max = Math.max.apply(Math, values);

舍入方法

Math.ceil( ):向上舍入
Math.floor( ):向下舍入
Math.round( ):四舍五入
random( )
Math.random( )方法返回介于0和1之间的一个随机数,不包括0和1
var num = Math.floor(Math.random()*10, + 1)//返回1-10之间的数
Javascript 相关文章推荐
js如何实现设计模式中的模板方法
Jul 23 Javascript
jQuery制作简洁的多级联动Select下拉框
Dec 23 Javascript
Bootstrap Img 图片样式(推荐)
Dec 13 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
Feb 09 Javascript
从零学习node.js之mysql数据库的操作(五)
Feb 24 Javascript
vuejs手把手教你写一个完整的购物车实例代码
Jul 06 Javascript
webpack踩坑之路图片的路径与打包
Sep 05 Javascript
Vue-Router进阶之滚动行为详解
Sep 13 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
Aug 25 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
Sep 19 Javascript
原生javascript实现连连看游戏
Jan 03 Javascript
JS数组方法reduce的用法实例分析
Mar 03 Javascript
原生javascript实现匀速运动动画效果
Feb 26 #Javascript
探索angularjs+requirejs全面实现按需加载的套路
Feb 26 #Javascript
JavaScript代码生成PDF文件的方法
Feb 26 #Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
Feb 26 #Javascript
自动完成的搜索框javascript实现
Feb 26 #Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
Feb 26 #Javascript
js去字符串前后空格的实现方法
Feb 26 #Javascript
You might like
c#中的实现php中的preg_replace
2009/12/21 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
JSON 编辑器实现代码
2009/12/06 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
Python深入学习之上下文管理器
2014/08/31 Python
python中argparse模块用法实例详解
2015/06/03 Python
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
python pygame实现方向键控制小球
2019/05/17 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
Django为窗体加上防机器人的验证码功能过程解析
2019/08/14 Python
Python Process多进程实现过程
2019/10/22 Python
详解python metaclass(元类)
2020/08/13 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
Python运算符+与+=的方法实例
2021/02/18 Python
比利时的在线灯具店:Lampen24.be
2019/07/01 全球购物
Moss Bros官网:英国排名第一的西装店
2020/02/26 全球购物
金山毒霸系列的笔试题
2013/04/13 面试题
人大代表选举标语
2014/10/07 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
开会通知短信大全
2015/04/20 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
《假如》教学反思
2016/02/17 职场文书
导游词之凤凰古城
2019/10/22 职场文书
Python绘制分类图的方法
2021/04/20 Python
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python