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 相关文章推荐
【消息提示组件】,兼容IE6/7&&FF2
Sep 04 Javascript
JavaScript和ActionScript的交互实现代码
Aug 01 Javascript
实现变速回到顶部的JavaScript代码
May 09 Javascript
javascript操作excel生成报表示例
May 08 Javascript
javascript获取flash版本号的方法
Nov 20 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
Jun 23 Javascript
jQuery实现图片文字淡入淡出效果
Dec 21 Javascript
JS获取当前脚本文件的绝对路径
Mar 02 Javascript
js操作数据库实现注册和登陆的简单实例
May 26 Javascript
Element-ui table中过滤条件变更表格内容的方法
Mar 02 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
Nov 16 Javascript
JavaScript组合模式---引入案例分析
May 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
摩卡咖啡
2021/03/03 咖啡文化
php单例模式实现(对象只被创建一次)
2012/12/05 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
ThinkPHP之M方法实例详解
2014/06/20 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
javascript 浏览器检测代码精简版
2010/03/04 Javascript
js中判断控件是否存在
2010/08/25 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
Bootstrap每天必学之导航条(二)
2016/03/01 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
微信小程序 数据交互与渲染实例详解
2017/01/21 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
JavaScript数据结构之栈实例用法
2019/01/18 Javascript
微信小程序自定义组件components(代码详解)
2019/10/21 Javascript
js实现百度淘宝搜索功能
2020/02/17 Javascript
[01:05:41]EG vs Optic Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python操作MongoDB数据库PyMongo库使用方法
2015/04/27 Python
Python中类型关系和继承关系实例详解
2015/05/25 Python
Python语言的面相对象编程方式初步学习
2016/03/12 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
2018/04/19 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
Python button选取本地图片并显示的实例
2019/06/13 Python
Scrapy框架基本命令与settings.py设置
2020/02/06 Python
python使用yaml 管理selenium元素的示例
2020/12/01 Python
优秀应届毕业生自荐信
2013/11/16 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
新疆民族团结演讲稿
2014/08/27 职场文书
放假通知格式
2015/04/14 职场文书
刑事申诉状范文
2015/05/20 职场文书
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python