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 相关文章推荐
jQuery之选择组件的深入解析
Jun 19 Javascript
javascript删除元素节点removeChild()用法实例
May 26 Javascript
微信小程序 flex实现导航实例详解
Apr 26 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
May 28 Javascript
vue修改对象的属性值后页面不重新渲染的实例
Aug 09 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
Dec 05 Javascript
JavaScript中的"=、==、==="区别讲解
Jan 22 Javascript
js实现无限层级树形数据结构(创新算法)
Feb 27 Javascript
JS异步宏队列与微队列原理区别详解
Jul 02 Javascript
JavaScript实现与web通信的方法详解
Aug 07 Javascript
区分vue-router的hash和history模式
Oct 03 Javascript
javascript条件式访问属性和箭头函数介绍
Nov 17 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开发中的错误收集,不定期更新。
2011/02/03 PHP
php统计文章排行示例
2014/03/04 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
Ajax实现不刷新取最新商品
2017/03/01 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
vue使用axios上传文件(FormData)的方法
2019/04/14 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
小程序实现日历左右滑动效果
2019/10/21 Javascript
JavaScript的一些小技巧分享
2021/01/06 Javascript
vue实现轮播图帧率播放
2021/01/26 Vue.js
[52:09]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第二场
2014/05/26 DOTA
Python实现获取某天是某个月中的第几周
2015/02/11 Python
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
python修改字典键(key)的方法
2019/08/05 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
如何在sublime编辑器中安装python
2020/05/20 Python
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
输入N,打印N*N矩阵
2012/02/20 面试题
《卖木雕的少年》教学反思
2014/04/11 职场文书
股东授权委托书范文
2014/09/13 职场文书
个人贷款收入证明
2014/10/26 职场文书
幼师辞职信范文
2015/02/27 职场文书
工商行政处罚决定书
2015/06/24 职场文书
Python自然语言处理之切分算法详解
2021/04/25 Python
用Python创建简易网站图文教程
2021/06/11 Python
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android
Flask response响应的具体使用
2021/07/15 Python