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 相关文章推荐
PJ Blog修改-禁止复制的代码和方法
Oct 25 Javascript
Javascript基础教程之数组 array
Jan 18 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
May 28 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
Dec 19 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
Feb 20 Javascript
微信小程序实战之自定义抽屉菜单(7)
Apr 18 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
Aug 03 Javascript
vue 使用eventBus实现同级组件的通讯
Mar 02 Javascript
js中forEach,for in,for of循环的用法示例小结
Mar 14 Javascript
Vue+tracking.js 实现前端人脸检测功能
Apr 16 Javascript
js轮播图之旋转木马效果
Oct 13 Javascript
原生JS实现飞机大战小游戏
Jun 09 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
香妃
2021/03/03 冲泡冲煮
PHP生成HTML静态页面实例代码
2008/08/31 PHP
php cookis创建实现代码
2009/03/16 PHP
php输入数据统一类实例
2015/02/23 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
jquery实现最简单的滑动菜单效果代码
2015/09/12 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
2016/08/03 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
layui-laydate时间日历控件使用方法详解
2018/11/15 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
详解JavaScript 事件流
2020/09/02 Javascript
使用PyV8在Python爬虫中执行js代码
2017/02/16 Python
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
2019/07/04 Python
python导入不同目录下的自定义模块过程解析
2019/11/18 Python
Python内置方法实现字符串的秘钥加解密(推荐)
2019/12/09 Python
详解如何在PyCharm控制台中输出彩色文字和背景
2020/08/17 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
Linux Interview Questions For software testers
2012/06/02 面试题
中科软测试工程师面试题
2012/06/16 面试题
商务助理岗位职责
2013/11/13 职场文书
财务会计人员求职的自我评价
2014/01/13 职场文书
物流专业求职信
2014/06/30 职场文书
2014年基层党建工作总结
2014/11/11 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书