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 相关文章推荐
小议javascript 设计模式 推荐
Oct 28 Javascript
JavaScript 解析Json字符串的性能比较分析代码
Dec 16 Javascript
jquery uploadify 在FF下无效的解决办法
Sep 26 Javascript
javascript学习笔记(八)正则表达式
Oct 08 Javascript
JavaScript中实现依赖注入的思路分享
Jan 15 Javascript
jQuery判断对象是否存在的方法
Feb 05 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 jQuery
利用Decorator如何控制Koa路由详解
Jun 26 Javascript
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
May 22 Javascript
实例详解带参数的 npm script
May 28 Javascript
vue实现井字棋游戏
Sep 29 Javascript
基于vue实现微博三方登录流程解析
Nov 04 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
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
2014/06/12 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
PHP让网站移动访问更加友好方法
2019/02/14 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
详细讲解JS节点知识
2010/01/31 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
2014/04/07 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
利用jQuery实现一个简单的表格上下翻页效果
2017/03/14 Javascript
详解webpack 多页面/入口支持&公共组件单独打包
2017/06/29 Javascript
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
从vue源码看props的用法
2019/01/09 Javascript
Python中的引用和拷贝浅析
2014/11/22 Python
Python编程中装饰器的使用示例解析
2016/06/20 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
Jupyter中直接显示Matplotlib的图形方法
2018/05/24 Python
对python中的argv和argc使用详解
2018/12/15 Python
关于python中plt.hist参数的使用详解
2019/11/28 Python
Python命令行click参数用法解析
2019/12/19 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
函授本科毕业生自我鉴定
2013/10/16 职场文书
小学生自我评价范文
2014/01/25 职场文书
民用住房租房协议书
2014/10/29 职场文书
酒店仓管员岗位职责
2015/04/01 职场文书
病房管理制度范本
2015/08/06 职场文书
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers
如何利用golang运用mysql数据库
2022/03/13 Golang
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers