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 相关文章推荐
JavaScript 面向对象的之私有成员和公开成员
May 04 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
js中top的作用深入剖析
Mar 04 Javascript
使用jquery解析XML示例代码
Sep 05 Javascript
关于Javascript中defer和async的区别总结
Sep 20 Javascript
你不知道的 javascript【推荐】
Jan 08 Javascript
关于jQuery.ajax()的jsonp碰上post详解
Jul 02 jQuery
mac上node.js环境的安装测试
Jul 03 Javascript
解决js相同的正则多次调用test()返回的值却不同的问题
Oct 10 Javascript
JavaScript实现小球沿正弦曲线运动
Sep 07 Javascript
JSONObject与JSONArray使用方法解析
Sep 28 Javascript
JavaScript中的Proxy对象
Nov 27 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
简单采集了yahoo的一些数据
2007/02/14 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
浅谈几种常用的JS类定义方法
2016/06/08 Javascript
jQuery实现的可编辑表格完整实例
2016/06/20 Javascript
Laravel中常见的错误与解决方法小结
2016/08/30 Javascript
Nodejs中解决cluster模块的多进程如何共享数据问题
2016/11/10 NodeJs
Bootstrap源码解读表单(2)
2016/12/22 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
jQuery插件form-validation-engine正则表达式操作示例
2017/02/09 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
详解微信小程序的 request 封装示例
2018/08/21 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
Python自动连接ssh的方法
2015/03/07 Python
python在ubuntu中的几种安装方法(小结)
2017/12/08 Python
深入浅析python with语句简介
2018/04/11 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
基于Python函数和变量名解析
2019/07/19 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
Windows10+anacond+GPU+pytorch安装详细过程
2020/03/24 Python
Python中的__init__作用是什么
2020/06/09 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
Python requests上传文件实现步骤
2020/09/15 Python
python 生成器需注意的小问题
2020/09/29 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
暑假安全教育广播稿
2014/09/10 职场文书
慰问信模板
2015/02/14 职场文书
Python基础之函数嵌套知识总结
2021/05/23 Python