资讯专栏INFORMATION COLUMN

JS 中的日期时间操作计算实例

beanlam / 1043人阅读

摘要:实例一已知日期格式为,计算相对于今天的天数差。在实践应用中,还会有各种各样的关于时间操作的需求,欢迎补充,我都将一一解答。

实例

:已知日期格式为 "YYYY/MM/DD",计算相对于今天的天数差。

function fromNow(date){
    var mTimes = new Date(date);
    var fromTimes = Date.now() - mTimes.valueOf();
    return Math.floor(fromTimes/(24*60*60*1000));
}

var date = "2015/09/18";
console.log(fromNow(date));//3

:以固定格式式输出n天后的日期

function afterToday(n){
    var endTimes = Date.now() + n*24*60*60*1000;
    var endDate = new Date(endTimes);
    return endDate.getFullYear()+"/"+(endDate.getMonth()+1)+"/"+endDate.getDate();
}

console.log(afterToday(2));//2016/09/23

:输出确定日期 n 天后的日期,格式为 "YYYY/MM/DD"

function afterDate(date,n){
    var mTimes = new Date(date);
    var endTimes = mTimes.valueOf() + n*24*60*60*1000;
    var endDate = new Date(endTimes);
    return endDate.getFullYear()+"/"+(endDate.getMonth()+1)+"/"+endDate.getDate();
}

afterDate("2016/02/28",1);//2016/02/29

说明

首先说明写这篇文章的意图,时间操作是在js编程的常用的操作,在一般的应用中,对时间的同步要求并不会高,大多会使用本机时间,这也让Date的API显得繁重。我们只需要深入的理解几种常用的方法,就可以驾驭 Date ,而不用频繁的依赖第三方。这里我们仅仅操作日期,不处理time。

Date 对象是 js 内置对象,其中封装了全部的关于时间操作的方法,均声明在其原型属性中,其constructor中有两个常用的方法,now()和parse(),其返回都是,70年到现在经过的毫秒数。还有一个返回毫秒数的方法是实例的valueOf()方法,直接操作毫秒,会让我们在计算日期关系上更加灵活和精确。再将毫秒转化为日期时,只需要调用 Date 的实例构造方法,拼装字符串即可。

在实践应用中,还会有各种各样的关于时间操作的需求,欢迎补充,我都将一一解答。(原创内容,欢迎转载)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/80438.html

相关文章

  • 你可能不知道的 Date 类

    摘要:构造函数通过可以进行实例化,得到一个对象实例,值得注意的是如果直接执行,将得到一个时间字符串。依照此标准,在此格式能被表示的最后时间是年月日,星期二。错误的计算及动作可能因此产生。 Date 是 JS 中的重要的一个内置对象,其实例主要用于处理时间和日期,其时间基于 1970-1-1 (世界标准时间)起的毫秒数,时间戳长度为 13 位(不同于 Unix 时间戳的长度 10 位)。对于日...

    missonce 评论0 收藏0
  • JS基础篇--日期Date详解与实例扩展

    摘要:实际上,如果直接将表示日期的字符串传递给构造函数,也会在后台调用方法,例如下面的代码跟前面的是等价的。构造函数构造函数会模仿但有一点不同的是,日期和时间都是基于本地时区而非来创建。兼容性问题啊其原因就是非标准日期格式。 一:Date类型介绍 要创建一个日期对象,使用new操作符和Date构造函数即可: var now = new Date(); Date.parse()方法 其中Da...

    Apollo 评论0 收藏0
  • 前端知识点总结——JS高级(持续更新中)

    摘要:前端知识点总结高级持续更新中字符串什么是连续存储多个字符的字符数组相同下标遍历选取不同类型不同不通用所有字符串都无权修改原字符串,总是返回新字符串大小写转换统一转大写统一转小写何时不区分大小写时,都需要先转为一致的大小写,再比较。 前端知识点总结——JS高级(持续更新中) 1.字符串 什么是: 连续存储多个字符的字符数组 相同: 1. 下标 2. .length 3. 遍历 4....

    wangzy2019 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<