ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

js 时间处理方法

2019-11-08 23:50:34  阅读:154  来源: 互联网

标签:return 处理 js Date time var new 方法 1000


格式化时间:

var format = function (time) { 
        var y = time.getFullYear(); //getFullYear方法以四位数字返回年份
        var M = time.getMonth() + 1; // getMonth方法从 Date 对象返回月份 (0 ~ 11),返回结果需要手动加一
        var d = time.getDate(); // getDate方法从 Date 对象返回一个月中的某一天 (1 ~ 31)
        var h = time.getHours(); // getHours方法返回 Date 对象的小时 (0 ~ 23)
        var m = time.getMinutes(); // getMinutes方法返回 Date 对象的分钟 (0 ~ 59)
        var s = time.getSeconds(); // getSeconds方法返回 Date 对象的秒数 (0 ~ 59)
        return y + '-' + M + '-' + d + ' ' + h + ':' + m + ':' + s;
}

var time1 = format(new Date());

 

简化写法:

var format = function (time) { 
      var date = new Date(+time + 8 * 3600 * 1000);
    	return date.toJSON().substr(0, 19).replace('T', ' ').replace(/-/g, '.');
}
var time1 = format(new Date());

//Date的‘toJSON’方法返回格林威治时间的JSON格式字符串,转化为北京时间需要额外增加8个时区,然后把‘T’替换为空格,即是我们需要的时间格式,后面可以通过正则将日期分隔符换成任何想要的字符。
//一元加操作符可以把任何数据类型转换成数字,所以获取时间对象对应毫秒数的另一个方法是+Date或Number(Date)

 

获取当月最后一天:

function getLastDayOfMonth (time) {
    var month = time.getMonth();
    time.setMonth(month+1);
    time.setDate(0);
    return time.getDate()
}
getLastDayOfMonth(new Date())
//先月份加一,再取上个月的最后一天

 

获取当前季度的第一天:

function getFirstDayOfSeason (time) {
    var month = time.getMonth();
    if(month <3 ){
        time.setMonth(0);
    }else if(2 < month && month < 6){
        time.setMonth(3);
    }else if(5 < month && month < 9){
        time.setMonth(6);
    }else if(8 < month && month < 11){
        date.setMonth(9);
    }
    time.setDate(1);
    return time;
}
getFirstDayOfSeason(new Date())
//先月份加一,再取上个月的最后一天

  

 获取中文星期:

let time ="日一二三四五六".charAt(new Date().getDay());

  

获取今天是当年的第几天:

var time1 = Math.ceil(( new Date() - new Date(new Date().getFullYear().toString()))/(24*60*60*1000));

//需要注意的是new Date()不设置具体时间的话new Date(2019)得到的不是0点而是8点 
//Tue Jan 01 2019 08:00:00 GMT+0800 (中国标准时间)

  

获取今天是当年的第几周:

var week = Math.ceil(((new Date() - new Date(new Date().getFullYear().toString()))/(24*60*60*1000))/7);

//在获取第几天的基础上除7,向上取整

 

获取今年剩多少天:

function restOfYear(time) {
    var nextyear = (time.getFullYear() + 1).toString();
    var lastday = new Date(new Date(nextyear)-1); //获取本年的最后一毫秒:
    console.log(lastday)
    var diff = lastday - time;  //毫秒数
    return Math.floor(diff / (1000 * 60 * 60 * 24));
}
restOfYear(new Data())
//先取下一年第一秒,再减1毫秒。顺便思考一下为什么

标签:return,处理,js,Date,time,var,new,方法,1000
来源: https://www.cnblogs.com/xiejn/p/11823917.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有