zoukankan      html  css  js  c++  java
  • JS 中的日期时间操作计算实例

    实例

    :已知日期格式为 "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 的实例构造方法,拼装字符串即可。

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

  • 相关阅读:
    git命令
    基于babel实现react核心功能(初始化,fiber,hook)
    Vue组件化原理-Xmind版
    访问后台 出现 俩次请求拼接情况 例如 https://localhost:4431/api/auth/jwt/token+https://localhost:4431/api/auth/jwt/token
    spring mvc 拦截器和过滤器
    前后端分离,session登录实例,jquery版本必须大于1.5,否则withCredentials不起作用
    kafka batches 数据结构是自定义map
    数据库blob中文乱码,如何查看
    先更新数据库 后删缓存
    高老师好
  • 原文地址:https://www.cnblogs.com/10manongit/p/12928686.html
Copyright © 2011-2022 走看看