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 相关文章推荐
关于Blog顶部的滚动导航条代码
Sep 25 Javascript
javascript让setInteval里的函数参数中的this指向特定的对象
Jan 31 Javascript
JavaScript简单实现网页回到顶部功能
Nov 12 Javascript
jQuery中:nth-child选择器用法实例
Dec 31 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
May 24 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
Sep 12 Javascript
详解Angualr 组件间通信
Jan 21 Javascript
js轮播图的插件化封装详解
Jul 17 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
Aug 28 Javascript
vue轮播图插件vue-concise-slider的使用
Mar 13 Javascript
[jQuery] 事件和动画详解
Mar 05 jQuery
Vue实现简单的拖拽效果
Aug 25 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
3.从实例开始
2006/10/09 PHP
PHP脚本数据库功能详解(上)
2006/10/09 PHP
php实现memcache缓存示例讲解
2013/12/04 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
js的for in循环和java里foreach循环的区别分析
2015/01/28 Javascript
jquery获得当前html页面源码的方法
2015/07/14 Javascript
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
在Vue项目中使用d3.js的实例代码
2018/05/01 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
python实现代码行数统计示例分享
2014/02/10 Python
Python+MongoDB自增键值的简单实现
2016/11/04 Python
不可错过的十本Python好书
2017/07/06 Python
Python+matplotlib实现填充螺旋实例
2018/01/15 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
python异常处理、自定义异常、断言原理与用法分析
2020/03/23 Python
Django实现随机图形验证码的示例
2020/10/15 Python
python实现学生信息管理系统源码
2021/02/22 Python
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
美国综合购物商城:UnbeatableSale.com
2018/11/28 全球购物
教育系毕业生中文求职信范文
2013/10/06 职场文书
网络工程师自荐书范文
2014/04/01 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
食品安全主题班会
2015/08/13 职场文书
优秀员工演讲稿
2019/06/21 职场文书
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs