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精华代码集
Jan 24 Javascript
javascript笔试题目附答案@20081025_jb51.net
Oct 26 Javascript
js去除重复字符串两种实现方法
Jan 09 Javascript
返回上一页并自动刷新的JavaScript代码
Feb 19 Javascript
浅谈Jquery为元素绑定事件
Apr 27 Javascript
浅谈js获取ModelAndView值的问题
Mar 28 Javascript
关于引入vue.js 文件的知识点总结
Jan 28 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
Apr 29 Javascript
Vue SSR 即时编译技术的实现
May 06 Javascript
Openlayers绘制聚合标注
Sep 28 Javascript
基于ant design日期控件使用_仅月份的操作
Oct 27 Javascript
JavaScript 定时器详情
Nov 11 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
攻克CakePHP系列二 表单数据显示
2008/10/22 PHP
在Yii框架中使用PHP模板引擎Twig的例子
2014/06/13 PHP
PHP二维关联数组的遍历方式(实例讲解)
2017/10/18 PHP
基于Jquery的温度计动画效果
2010/06/18 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
js的回调函数详解
2015/01/05 Javascript
AngularJS入门教程之模块化操作用法示例
2016/11/02 Javascript
vue-router跳转页面的方法
2017/02/09 Javascript
Python实现脚本锁功能(同时只能执行一个脚本)
2017/05/10 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
基于并发服务器几种实现方法(总结)
2017/12/29 Python
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
五分钟学会怎么用Pygame做一个简单的贪吃蛇
2021/01/06 Python
5分钟让你掌握css3阴影、倒影、渐变小技巧(小编推荐)
2016/08/15 HTML / CSS
英国时尚家具、家居饰品及礼品商店:Graham & Green
2016/09/15 全球购物
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
思想专业自荐信范文
2013/12/25 职场文书
物理教学随笔感言
2014/02/22 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
2015年七一建党节慰问信
2015/03/23 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
通用员工手册范本
2015/05/14 职场文书
中秋节随笔
2015/08/15 职场文书
Django路由层如何获取正确的url
2021/07/15 Python
redis中lua脚本使用教程
2021/11/01 Redis