Home > Web Front-end > JS Tutorial > javascript--Date object

javascript--Date object

巴扎黑
Release: 2017-07-23 16:19:11
Original
1335 people have browsed it

前言:最近在做一个日期选择功能,在日期转换的时候经常换到晕,总结一下常用的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()转换之后的数据,可以直接使用下面的apinew 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
Copy after login

 

4. javascript 没有原生提供但却经常需求使用的功能

  • 根据日期获取当前星期几

//参数  日期getWeek(day) {
   const weekArr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];   return weekArr[day];
}
getWeek(new Date(x).getDay())
Copy after login

 

  • 获取某个时间+1个小时,直接对小时数进行加1可能会溢出,因此先转换成 Date 对象,再使用setHours 改变小时。

new Date(x).setHours(new Date(x).getHours()+1,new Date(x).getMinutes());
Copy after login

 

  • 为了统一格式,返回日期是10以下,需在前面补0.

function getFull(n) {return (n > 9 ? '' : '0') + n;
}var x = getFull(3);  //03var y = getFull(11);   //11
Copy after login

 

  • 经常要对日期进行转换,因此增加一个转换格式的函数

Date.prototype.Format = function (fmt) { //author: meizzvar 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");
Copy after login

 

The above is the detailed content of javascript--Date object. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template