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 input文本框禁用右键和复制粘贴功能的代码
Apr 15 Javascript
Javascript学习笔记一 之 数据类型
Dec 15 Javascript
JQuery在页面中添加和除移DOM示例代码
Jun 24 Javascript
jQuery回车实现登录简单实现
Aug 20 Javascript
JS画5角星方法介绍
Sep 17 Javascript
简单的两种Extjs formpanel加载数据的方式
Nov 09 Javascript
jquery调取json数据实现省市级联的方法
Jan 29 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
Jul 01 Javascript
JavaScript节点及列表操作实例小结
Aug 05 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
Jul 25 Javascript
带你了解session和cookie作用原理区别和用法
Aug 14 Javascript
jquery实现动态改变css样式的方法分析
May 27 jQuery
原生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
百事可乐也出咖啡了 双倍咖啡因双倍快乐
2021/03/03 咖啡文化
浅析PHP 按位与或 (^ 、&)
2013/06/21 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
javascript中取前n天日期的两种方法分享
2014/01/26 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
JavaScript中property和attribute的区别详细介绍
2015/03/03 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
2016/07/10 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
小程序实现录音上传功能
2019/11/22 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
python使用urllib2提交http post请求的方法
2015/05/26 Python
浅谈Python peewee 使用经验
2017/10/20 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
Python reques接口测试框架实现代码
2020/07/28 Python
python基于openpyxl生成excel文件
2020/12/23 Python
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述
2013/01/31 HTML / CSS
加拿大便宜的隐形眼镜商店:Clearly
2016/09/15 全球购物
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
经典广告词大全
2014/03/14 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
部门经理迟到检讨书
2015/02/16 职场文书
优秀大学生自荐信
2015/03/26 职场文书
如何用threejs实现实时多边形折射
2021/05/07 Javascript
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python