javascript 玩转Date对象

前言:最近在做一个日期选择功能,在日期转换的时候经常换到晕,总结一下常用的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");
时间: 2024-10-06 04:36:59

javascript 玩转Date对象的相关文章

JavaScript中关于date对象的一些方法

日期对象用于处理日期和时间. Date() - 可返回当天的日期和时间,还包含周几.时区等信息,如: Tue Jul 15 2014 16:03:46 GMT+0800 (CST) getDay() - 可返回表示星期的某一天的数字,返回值是0到6之间的一个整数,0为周日,6为周六: dateObject.getDay() getMonth()- 可返回表示月份的数字,返回值是0到11之间的一个整数,0为一月,11为12月份: dateObject.getMonth() getMilliseco

JavaScript里的Date 对象属性及对象方法--实现简单的日历

上网搜索"js 日历插件"就会出来各种效果的功能丰富的日历插件,很多都可以下载源码,然后根据各自的需求对源码进行修改就可以直接用了. 但今天讲的不是如何使用这些插件,而是讲如何实现一个很简单的只有当前这个月的日历,具体效果如下图:   ( 截图时间是 2017-7-27 ),下面展示一下实现的代码: .wrap { font-size: 0; } .weeks span { display: inline-block; font-size: 14px; width: 47px; hei

javascript类型系统——日期Date对象

前面的话 Date对象是javascript语言中内置的数据类型,用于提供日期和时间的操作接口.Date对象是在早期java中的java.util.Date类基础上创建的,为此,Date类型使用自UTC1970年1月1日0点开始经过的毫秒数来保存日期,它可以表示的时间范围是1970年1月1日0点前后的各1亿天.本文将详细介绍Date对象的用法 静态方法 在介绍Date对象的构造函数之前,先介绍静态方法.因为,Date对象的静态方法与其构造函数有着千丝万缕的联系.使用构造函数创建Date对象的过程

Javascript中的date对象和getTime()方法

有些时候我们需要计算两个日期间的天数,或者小时数等等.下面用JavaScript实现这个需求,然后学习一下需要用到的一些JavaScript函数.池州市贲生工艺品 JavaScript程序如下: 1 <script type="text/javascript">  2 var getOffDays = function(startDate, endDate) {   3     //得到时间戳相减 得到以毫秒为单位的差   4     var mmSec = (endDat

javascript中的Date对象

Date是什么? Date是日期类的构造函数 也是个对象,用于构造日期对象的实例. 有一个 now()方法,返回截止目前的时间戳(1970.1.1日始). Date.parse()接受 一定格式的日期字符串,返回相应的时间戳. '6/30/2017',月/日/年 '2016-2-22',年-月-日 'june12 , 2017' 英文月日  年. Date.UTC()接受多个表示日期年月日时分秒的数字,返回响应的时间戳. (2015,1,3)表示 2015年2月3日. 如何构建Date实例 构造

javascript 通过Date对象验证日期合法性

通常来说,javascript验证日期的有效性可以通过正则判断 但正则表达式无法精准验证日期的有效性,你无法通过正则表达式判断出1900-02-29是非法日期而2000-02-29是合法日期,而且正则表达式匹配起来比较繁琐. 要想精确验证,最容易想到的方法就是通过月份判断日期是否合法(1~28/29/30/31),你可以用一个数组表示每月的天数,如daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31],但你会发现daysInMonth[1]这个值可能是

JavaScript Date对象更进一步

总结分享这个近期开发解决的一个Bug. Javascript的Date对象具有容错性,会自动根据当年的日期根据设置的属性值转换,也就是说Date对象的setDate会影响setMonth,而month会影响到setFullYear. JavaScript的Date对象容错性 如果单独使用setDate.setMonth.setFullYear初始化Date对象的时候,Date未及时被初始化的属性会在你设置其他属性的时候影响到其他的属性值, 一般情况下,只会有setDate产生的影响所致,所以初始

廖雪峰js教程笔记8 date对象介绍和处理

在JavaScript中,Date对象用来表示日期和时间. 要获取系统当前时间,用: var now = new Date(); now; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST) now.getFullYear(); // 2015, 年份 now.getMonth(); // 5, 月份,注意月份范围是0~11,5表示六月 now.getDate(); // 24, 表示24号 now.getDay(); // 3, 表示星期三 now.getHo

JavaScript Date对象介绍

Date 日期和时间对象 1. 介绍 Date对象,是操作日期和时间的对象.Date对象对日期和时间的操作只能通过方法. 2. 构造函数 2.1 new Date() :返回当前的本地日期和时间 参数:无 返回值: {Date} 返回一个表示本地日期和时间的Date对象. 示例: var dt = new Date(); console.log(dt); // => 返回一个表示本地日期和时间的Date对象 2.2 new Date(milliseconds) :把毫秒数转换为Date对象 参数