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 相关文章推荐
json简单介绍
Jun 10 Javascript
半角全角相互转换的js函数
Oct 16 Javascript
JS时间选择器 兼容IE6,7,8,9
Jun 26 Javascript
JS跨域代码片段
Aug 30 Javascript
用jquery中插件dialog实现弹框效果实例代码
Nov 15 Javascript
jQuery封装的获取Url中的Get参数示例
Nov 26 Javascript
浅析Node.js查找字符串功能
Sep 03 Javascript
javascript实现类似超链接的效果
Dec 26 Javascript
JavaScript实现瀑布流布局
Jun 28 Javascript
浅谈JavaScript对象与继承
Jul 10 Javascript
详解Require.js与Sea.js的区别
Aug 05 Javascript
vue-cli创建的项目中的gitHooks原理解析
Feb 14 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
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
php实现的debug log日志操作类实例
2016/07/12 PHP
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
无阻塞加载脚本分析[全]
2011/01/20 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
javascript将相对路径转绝对路径示例
2014/03/14 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
jQuery实现带滑动条的菜单效果代码
2015/08/26 Javascript
js实现图片左右滚动效果
2017/02/27 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
详解JavaScript类型判断的四种方法
2020/10/21 Javascript
python进阶教程之模块(module)介绍
2014/08/30 Python
用Python编写web API的教程
2015/04/30 Python
Python下Fabric的简单部署方法
2015/07/14 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
分分钟入门python语言
2018/03/20 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
Python实现DDos攻击实例详解
2019/02/02 Python
如何利用Python开发一个简单的猜数字游戏
2019/09/22 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
详解Django配置JWT认证方式
2020/05/09 Python
基于Django集成CAS实现流程详解
2020/11/28 Python
python 模拟登录B站的示例代码
2020/12/15 Python
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
写一个方法1000的阶乘
2012/11/21 面试题
保险专业自荐信范文
2014/02/20 职场文书
贷款委托书
2014/08/01 职场文书
暑假安全教育广播稿
2014/09/10 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
公务员个人考察材料
2014/12/23 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis