Vue项目时间设置; 简单的const、let、var定义

前言:记录错误:[Vue warn]: Property or method “XXX” is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.
原因是XXX在Vue中出现了,但没有被使用,需要检查下V-model绑定的值,删除或者在data中定义XXX就行。

  1. JS中的时间

(1)JS定义时间:

const myDate= new Date(); //打印出的时间是哈希码
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)         // 所以获取当前月份是myDate.getMonth()+1; 
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)

(2)JS获取当前时间(昨天、今天、明天):

//昨天的时间
const day1 = new Date();
day1.setTime(day1.getTime()-24*60*60*1000);
const s1 = day1.getFullYear()+"-" + (day1.getMonth()+1) + "-" + day1.getDate();
//今天的时间
const day2 = new Date();
day2.setTime(day2.getTime());
const s2 = day2.getFullYear()+"-" + (day2.getMonth()+1) + "-" + day2.getDate();
//明天的时间
const day3 = new Date();
day3.setTime(day3.getTime()+24*60*60*1000);
const s3 = day3.getFullYear()+"-" + (day3.getMonth()+1) + "-" + day3.getDate();
//拼接时间
function show(){
     var str = "" + s1 + "至" + s2;
     return str;
}
//赋值doubleDate
 $('#dateS').val(show());

(3)具体到时分秒的获取方法:

function writeCurrentDate() {
        const now = new Date();
        const year = now.getFullYear(); //得到年份
        const month = now.getMonth();//得到月份
        const date = now.getDate();//得到日期
        const day = now.getDay();//得到周几
        const hour = now.getHours();//得到小时
        const minu = now.getMinutes();//得到分钟
        const sec = now.getSeconds();//得到秒
       const MS = now.getMilliseconds();//获取毫秒
        const week;
        month = month + 1;
        if (month < 10) month = "0" + month;
        if (date < 10) date = "0" + date;
        if (hour < 10) hour = "0" + hour;
        if (minu < 10) minu = "0" + minu;
        if (sec < 10) sec = "0" + sec;
        ifMS < 100MS = "0" + MS;
        const arr_week = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
        week = arr_week[day];
        const time = "";
        time = year + "年" + month + "月" + date + "日" + " " + hour + ":" + minu + ":" + sec + " " + week;
        //当前日期赋值给当前日期输入框中(jQuery easyUI)
        $("#currentDate").html(time);
        //设置得到当前日期的函数的执行间隔时间,每1000毫秒刷新一次。
        const timer = setTimeout("writeCurrentDate()", 1000);
      }

(4)JS中,中国标准时间转化为yyyy-MM-dd:

const d = new Date('Thu May 12 2016 08:00:00 GMT+0800 (中国标准时间)');  
const datetime=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();

(5)“yyyy-MM-dd"格式比较日期大小:

function compareTime(start,end){
   //通过replace方法将字符串转换成Date格式
    const startTime= new Date(Date.parse(start.replace(/-/g,   "/")));    
    const endTime= new Date(Date.parse(end.replace(/-/g,   "/")));
    if(startTime <= endTime){
 		return "结束时间大于开始时间"
    }

(6)对年月日时分秒进行操作:

//昨天的时间
const today= new Date();
today.setDate(today.getDate() - 1);
const yestaday= today.format("yyyy-MM-dd");
  1. var/let/const的区别及使用场景
    ES6 提出了两个新的声明变量的命令:let和const;建议使用的优先级:const > let > var :
    第一、var定义的变量会预解析,类似于全局定义,当然伴随着更高的性能消耗。
    第二,let声明的变量的特点,let不能定义已经定义过的变量(无论之前是用var定义的还是let或者const定义的);
    let是块级作用域,函数内部使用let定义后,对函数外部无影响,简单说就是在一个{}里面生效
    第三,const声明的变量的特点;const定义的变量通常不允许修改,但是,在数组里面,const的值是允许被修改的,这是因为const存储的是地址,值的内容可以变化,注意,对象也可以。

const声明常量的好处,一是阅读代码的人立刻会意识到不应该修改这个值,二是防止了无意间修改变量值所导致的错误,另外其实js编译器也对const进行了优化,可以提高代码的执行效率;

另外let声明的变量没有预编译和变量升级的问题,先声明再使用其实更为规范,而let本身是一个块级作用域,很多时候我们在写代码的时候都希望变量在某个代码块内生效,也更为方便。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值