• 【uniapp 开发】日期工具类 -- DateUtil


    日期格式转毫秒值

    
    var time = ‘2019-08-08 12:09:34’;
    var time222 = time.replace("-", "/").replace("-", "/");
    var timestamp = Date.parse(time222);
    
    

    获取当前月份以及近一年的月份

    
    getMonths() {
          var dataArr = [];
          var data = new Date();
          var year = data.getFullYear();
          data.setMonth(data.getMonth() + 1, 1); //获取到当前月份,设置月份
          for (var i = 0; i < 12; i++) {
            data.setMonth(data.getMonth() - 1); //每次循环一次 月份值减1
            var m = data.getMonth() + 1;
            m = m < 10 ? "0" + m : m;
            dataArr.push(data.getFullYear() + "-" + m);
          }
           console.log(dataArr);
         return dataArr;
    },
    
    

    毫秒值转日期格式

    
    	formatDate:function(date, fmt) {
    		if (/(y+)/.test(fmt)) {
    			fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
    		}
    		 
    		let o = {
    			'M+': date.getMonth() + 1,
    			'd+': date.getDate(),
    			'h+': date.getHours(),
    			'm+': date.getMinutes(),
    			's+': date.getSeconds()
    		};
    		 
    		for (let k in o) {
    			if (new RegExp(`(${k})`).test(fmt)) {
    				let str = o[k] + '';
    				fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : this.padLeftZero(str));
    			}
    		}
    		return fmt;
    	},
    
           padLeftZero:function(str) {
    		return ('00' + str).substr(str.length);
    	},
    

    获取现在时刻的日期,星期几,时分秒

    getTime: function(type){
    		let date = new Date(),
    		currentDate,
    		currentTime,
    		seperator = "-", // 如果想要其他格式 只需 修改这里 
    		year = date.getFullYear(),
    		month = date.getMonth() + 1,
    		weex = date.getDay(),
    		day = date.getDate(),
    		hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours(),
    		minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(),
    		second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
    		month >= 1 && month <= 9 ? (month = "0" + month) : "";
    		day >= 0 && day <= 9 ? (day = "0" + day) : "";
    		  //当前 日期
    		 currentDate = year + seperator + month + seperator + day;
    		  //当前 时间
    		 currentTime = hour + ":" + minute + ":" + second;
    		  // 输出格式 为 2018-8-27 14:45:33
    		 // console.log(currentDate +" "+ currentTime);
    		
    		 if(type==0){
                 return currentDate
             }
             else if(type==1){
                 return currentTime;
             }
             else if(type==2){
                 if(weex==1){
                     return '星期一'
                 }if(weex==2){
                     return '星期二'
                 }if(weex==3){
                     return '星期三'
                 }if(weex==4){
                     return '星期四'
                 }if(weex==5){
                     return '星期五'
                 }if(weex==6){
                     return '星期六'
                 }if(weex==7){
                     return '星期日'
                 }
             }
             else{
                return currentDate+" "+ currentTime;
             }
    },
    

    获取当前时间戳

    var time = (new Date()).getTime();
    console.log('time=='+time);
    

    两个日期间隔天数

    getDays: function(date1, date2) {
    	const dateTime = 1000 * 60 * 60 * 24; //每一天的毫秒数
    	const minusDays = Math.floor(((date2.getTime() - date1.getTime()) / dateTime));//计算出两个日期的天数差
    	return Math.abs(minusDays);
    },
    
    
    var time = this.getDays(new Date('2019-08-09'),new Date('2019-07-09'));
    console.log('time=='+time);
    

    获取10天后的日期

    function daysAddSub(date, num) {
                let d = new Date(date.getTime());
                let newD = new Date(d.setDate(d.getDate() + num));//设置天数 +1 天
                return formatDate(newD, 'yyyyMMdd');
    }
    
    
    console.log(this.daysAddSub(new Date('2018/06/28'),10));
    
    

    获取某一年的第一天的日期

    
    _getFirstDayOfYear: function(date) {
           var year = this._getYear(date);
           var dateString = year + "-01-01 00:00:00";
           return dateString;
    },
    
    _getYear: function(date) {
            return this._transferDate(date).getFullYear();
    },
    
    

    某个日期是在当月中的星期几

    _getDayOfWeek: function(date1) {
           return this._getWeek(date1);
    },
    
     /*获取今天星期几,如果为0代表星期日*/
    _getWeek: function(date) {
           return this._transferDate(date).getDay();
    },
    
     /*转换日期*/
    _transferDate: function(date) {
           if(typeof date == "string") {
                  return new Date(date.replace(/-/ig, "/"));
           } else {
                  return date;
            }
    },
    
    

    某个日期是否晚于某个日期

     _after: function(date1, date2) {
           var stime = this._getTime(this._transferDate(date1));
           var etime = this._getTime(this._transferDate(date2));
           return stime < etime ? true : false;
    },
    
    /*返回 1970 年 1 月 1 日至今的毫秒数。*/
    _getTime: function(date) {
          return this._transferDate(date).getTime();
    },
    
     /*转换日期*/
    _transferDate: function(date) {
            if(typeof date == "string") {
                  return new Date(date.replace(/-/ig, "/"));
            } else {
                  return date;
            }
    },
    
    
  • 相关阅读:
    【C++】类的特殊成员变量+初始化列表
    SM Java实现
    Android使用OKHttp3实现下载(断点续传、显示运行进度)
    codeforces 486C Palindrome Transformation 贪心求构造回文
    手把手教你画AndroidK线分时图及指标
    怎样使用 iOS 7 的 AVSpeechSynthesizer 制作有声书(3)
    C# 读取Excel中的数据
    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty
    java debug
    8种移动APP导航设计模式对照
  • 原文地址:https://www.cnblogs.com/neo-java/p/11321375.html
Copyright © 2020-2023  润新知