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代码
Nov 23 Javascript
初学js 新节点的创建 删除 的步骤
Jul 04 Javascript
jquery实现人性化的有选择性禁用鼠标右键
Jun 30 Javascript
详解JavaScript中循环控制语句的用法
Jun 03 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
Apr 28 Javascript
AngularJS API之copy深拷贝详解及实例
Sep 14 Javascript
jquery实现转盘抽奖功能
Jan 06 Javascript
jquery精度计算代码 jquery指定精确小数位
Feb 06 Javascript
vue的事件绑定与方法详解
Aug 16 Javascript
Vue全家桶实践项目总结(推荐)
Nov 04 Javascript
解决vue 按钮多次点击重复提交数据问题
May 10 Javascript
微信小程序实现炫酷的弹出式菜单特效
Jan 28 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
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
2014/11/18 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
PHP图片水印类的封装
2017/07/06 PHP
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
2011/03/28 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
JavaScript获取Url里的参数
2014/12/18 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
2018/01/16 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
Python中标准模块importlib详解
2017/04/16 Python
python 动态加载的实现方法
2017/12/22 Python
Sanic框架安装与简单入门示例
2018/07/16 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
python实现名片管理器的示例代码
2019/12/17 Python
Python垃圾回收机制三种实现方法
2020/04/27 Python
Python实现像awk一样分割字符串
2020/09/15 Python
新加坡网上美容店:Hermo新加坡
2019/06/19 全球购物
丝芙兰意大利官方网站:Sephora.it
2019/12/13 全球购物
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
最新计算机专业自荐信
2013/10/16 职场文书
料理师求职信
2014/01/30 职场文书
希特勒经典演讲稿
2014/05/19 职场文书
社团活动总结书
2014/06/27 职场文书
高中升旗仪式演讲稿
2014/09/09 职场文书
毕业论文答辩开场白和结束语
2015/05/27 职场文书
初中语文教学随笔
2015/08/15 职场文书
php中pcntl_fork详解
2021/04/01 PHP
js实现上传图片到服务器
2021/04/11 Javascript
Python如何让字典保持有序排列
2022/04/29 Python