博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 时间对象的常规操作
阅读量:7078 次
发布时间:2019-06-28

本文共 2598 字,大约阅读时间需要 8 分钟。

获得一个时间对象

var date = new Date();//Date() 方法如果接受到一个时间戳作为参数,返回该时间戳的对象,否则返回当前时间

获得时间对象的时间戳

var timeStr = parseInt(Date.parse(new Date())); 或者 var timeStr = (new Date()).getTime();

通过时间戳 获得 时间对象

var date = new Date(timeStr);

一天的时间戳为:

60分 x 60秒 x 24小时 x 1000毫秒 = 86400 x 1000;

时间对象的一些常用方法

getDate() 获得当日的日期

getDay() 获得星期几
getHours():返回时间的小时部分。
getMinutes():返回时间的分钟部分。
getSeconds():返回时间的秒部分。
getMilliseconds():返回时间的毫秒部分。
getTime():返回自从1970年1月1日午夜以来的毫秒数。

setMonth(): 设置月份。

setDate(): 设置一个月的某一天。
setTime() :以毫秒设置 Date 对象。
setFullYear(year,mouth,day) : Date 对象中的年份(四位数字)

设置时间对象(调时间)

dateObject.setTime(millisec);

millisec: 要设置的日期和时间据 GMT 时间 1970 年 1 月 1 日午夜之间的毫秒数 ;

参数millisec可以为负值,用于表示1970年以前的日期。此方法没有返回值;主要用于设置时间对象;

设置时间为 3天前 :

function getDate(int) {     var date = new Date();     var timeStr = parseInt(Date.parse(date)) +  86400 * 1000 * int;     date.setTime(timeStr);//设置时间对象;     return date;    //注意写成 return  date.setTime(timeStr) 是错的;会返回 timeStr;}var date = getDate(-3);

上面的方法也可以写成这样:

function getDate(int) {        var date = new Date();        var timeStr = parseInt(Date.parse(date)) +  86400 * 1000 * int;        return new Date(timeStr) // Date() 接受一个时间戳参数,返回设置时间后的时间对象;    } var date = getDate(-3);

还可以写成这样(推荐):

function getDate(int) {         var date = new Date();         date.setDate(date.getDate()+int)         return date    }var date = getDate(-3);//注意:如果增加5天后进入另外一个月或一年,Date对象会自动处理的。

setFullYear 求 某个月有多少天

clipboard.png

通过利用 setFullYear 中 如果day 设置为 0 回返回 上个月的最后一天 ;可以求得任意一个月有多少天

function getDaysNum(year,mouth) {    var date = new Date();    date.setFullYear(year,mouth,0);    var days = date.getDate();    return days;}getDaysNum(2017,2) //28

参考链接

格式化 时间对象

通常我们看到的时间格式并不是时间对象默认的格式(Mon Dec 25 2017 09:34:24 GMT+0800 (中国标准时间));

而是带中文 或者 横线分隔;因此我们需要写一个 Format 函数;直接看某大神的代码吧;

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"); //2017-12-26var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");  //2017-12-26 09:33:30

转载地址:http://vnvml.baihongyu.com/

你可能感兴趣的文章
cookie禁用后session id传值的问题
查看>>
android 动画AnimationSet 和 AnimatorSet
查看>>
Dharma勒索软件继续大肆传播,据称已有100多家希腊网站沦陷
查看>>
成为JavaGC专家(1)—深入浅出Java垃圾回收机制
查看>>
Linux学习笔记(十七) vim
查看>>
三十二、iptables filter表小案例、iptables nat表应用
查看>>
Linux第一周学习笔记(4)
查看>>
袋鼠云数据中台专栏2.0 | 数据中台之数据集成
查看>>
当P4遇见NAT64,UCloud如何快速从IPv4向IPv6演进?
查看>>
iOS少用的框架
查看>>
ups锂电池的优势
查看>>
关于程序员和***区别在哪里?
查看>>
tomcat启动报错Invalid character found in method name. HTTP method names must be tokens
查看>>
appium+python3.6
查看>>
RAID cache的作用及更换RAID 电池注意事项
查看>>
如何挖掘和优化长尾关键词?
查看>>
windows下安装解压版mysql
查看>>
Linux启用ssh服务
查看>>
Centos7 Snapper快照备份
查看>>
cdn
查看>>