javascript 玩转Date对象(实例讲解)


Posted in Javascript onJuly 11, 2017

前言:最近在做一个日期选择功能,在日期转换的时候经常换到晕,总结一下常用的Date对象的相关用法,方便日后直接查看使用~

1. new Date()的使用方法有:

不接收任何参数:返回当前时间;

接收一个参数x: 返回1970年1月1日 + x毫秒的值。

new Date(1, 1, 1)返回1901年2月1号。
new Date(2016, 1, 1)不会在1900年的基础上加2016,而只是表示2016年2月1号。

2. 使用new Date(time) 将时间转换成 Date 对象

注意:time格式需要为 1999/12/31 23:59 (不能为1999-12-30 23:43),否则在一些机型下可能会报错。

3. date对象一些常用的api

new Date()转换之后的数据,可以直接使用下面的api
new Date(x).getMonth()+1  //获取月份
new Date(x).getDate //获取日期
new Date(x).getHours() //获取小时
new Date(x).getMinutes() //获取分钟
new Date(x).toLocaleDateString()); // 转换为本地日期格式,视环境而定,输出:2017年07月04日
new Date(x).toLocaleString()); // 转换为本地日期和时间格式,视环境而定,输出:2017年07月04日 上午10:03:05

4. javascript 没有原生提供但却经常需求使用的功能

根据日期获取当前星期几

//参数 日期
getWeek(day) {
  const weekArr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
  return weekArr[day];
}
getWeek(new Date(x).getDay())

获取某个时间+1个小时,直接对小时数进行加1可能会溢出,因此先转换成 Date 对象,再使用setHours 改变小时。

new Date(x).setHours(new Date(x).getHours()+1,new Date(x).getMinutes());

为了统一格式,返回日期是10以下,需在前面补0.

function getFull(n) {
  return (n > 9 ? '' : '0') + n;
}
var x = getFull(3); //03
var y = getFull(11);  //11

经常要对日期进行转换,因此增加一个转换格式的函数

Date.prototype.Format = function (fmt) { //author: meizz
    var o = {
      "M+": this.getMonth() + 1, //月份
      "d+": this.getDate(), //日
      "h+": this.getHours(), //小时
      "m+": this.getMinutes(), //分
      "s+": this.getSeconds(), //秒
      "q+": Math.floor((this.getMonth() + 3) / 3), //季度
      "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
      if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
  }
  // 调用:
  var time1 = new Date().Format("yyyy-MM-dd");
  var time2 = new Date().Format("yyyy-MM-dd hh:mm:ss");

以上这篇javascript 玩转Date对象(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js写的评论分页(还不错)
Dec 23 Javascript
js 动态加载事件的几种方法总结
Dec 25 Javascript
鼠标经过tr时,改变tr当前背景颜色
Jan 13 Javascript
js简单的弹出框有关闭按钮
May 05 Javascript
alert出数组中的随即值代码
Sep 25 Javascript
js限制文本框只能输入整数或者带小数点的数字
Apr 27 Javascript
理解javascript对象继承
Apr 17 Javascript
BootStrap智能表单demo示例详解
Jun 13 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
Apr 11 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
Sep 10 jQuery
vue打包相关细节整理(小结)
Sep 28 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
Apr 23 Javascript
使用jQuery实现动态添加小广告
Jul 11 #jQuery
Vue中父组件向子组件通信的方法
Jul 11 #Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
Jul 11 #Javascript
网页中的图片查看器viewjs使用方法
Jul 11 #Javascript
自定义事件解决重复请求BUG的问题
Jul 11 #Javascript
关于js中的鼠标事件总结
Jul 11 #Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
Jul 10 #Javascript
You might like
PHP自动更新新闻DIY
2006/10/09 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
jQuery前端开发35个小技巧
2016/05/24 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
AngularJS过滤器详解及示例代码
2016/08/16 Javascript
原生JS实现几个常用DOM操作API实例
2017/01/19 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
JavaScript生成图形验证码
2020/08/24 Javascript
js+html5实现复制文字按钮
2017/07/15 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
2018/08/29 Javascript
Python中if elif else及缩进的使用简述
2018/05/31 Python
python检索特定内容的文本文件实例
2018/06/05 Python
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
Django中自定义admin Xadmin的实现代码
2019/08/09 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
numpy的Fancy Indexing和array比较详解
2020/06/11 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
建筑专业自荐信范文
2014/01/05 职场文书
还款承诺书范文
2014/05/20 职场文书
分公司负责人任命书
2014/06/04 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
安全保证书格式
2015/02/28 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
Redis可视化客户端小结
2021/06/10 Redis