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浏览器选项卡效果
Aug 25 Javascript
Javascript高级技巧分享
Feb 25 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
Jun 05 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
Aug 27 Javascript
Prototype框架详解
Nov 25 Javascript
jsp 网站引入外部css或者js失效问题解决
Oct 31 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
Nov 07 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
Aug 20 Javascript
详解用async/await来处理异步
Aug 28 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
Jan 07 Javascript
JavaScript实现多文件下载方法解析
Aug 07 Javascript
Vue 样式切换及三元判断样式关联操作
Aug 09 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-MySQL教程归纳总结
2008/06/07 PHP
url decode problem 解决方法
2011/12/26 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
php 可变函数使用小结
2018/06/12 PHP
Javascript 陷阱 window全局对象
2008/11/26 Javascript
JQuery autocomplete 使用手册
2010/04/01 Javascript
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
js 限制input只能输入数字、字母和汉字等等
2013/12/18 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
layui按条件隐藏表格列的实例
2019/09/19 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
2020/05/09 Javascript
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
Python Web框架Flask下网站开发入门实例
2015/02/08 Python
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
讲解Python中for循环下的索引变量的作用域
2015/04/15 Python
彻底理解Python list切片原理
2017/10/27 Python
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
Django 响应数据response的返回源码详解
2019/08/06 Python
CAT鞋美国官网:CAT Footwear
2017/11/27 全球购物
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
国贸专业个人求职信分享
2013/12/04 职场文书
酒店销售主管岗位职责
2014/01/04 职场文书
老同学聚会感言
2014/02/23 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
岗位工作说明书
2014/07/29 职场文书
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL
Smart 2 车辆代号 HC11 全新谍照曝光
2022/04/21 数码科技