JavaScript日常操作


一、

1、在js中遍历

  1. for…in 、

  2. Object.keys()、

  3. Object.getOwnPropertyNames()、

  4. Object.getOwnPropertySymbols()、

  5. Reflect.ownKeys()。

  6. for … of

        for(let data of row){
        	console.log(data)
        }

2、js时间操作

1. 获取当前时间

var d= new Date();
d.getFullYear();//Get the year as a four digit number (yyyy)
d.getMonth();//Get the month as a number (0-11)
d.getDate();//Get the day as a number (1-31)
d.getHours();//Get the hour (0-23)
d.getMinutes();//Get the minute (0-59)
d.getSeconds();//Get the second (0-59)
d.getMilliseconds();//Get the millisecond (0-999)
d.getTime();//Get the time (milliseconds since January 1, 1970)

2、获取上个月下个月的毫秒时间戳

/**
 * 获取上个月下个月的毫秒时间戳
 * 
 */
function getDate(date) {
    var now = new Date(date);
    
    //上个月毫秒时间戳
    var ds = now.setMonth(now.getMonth() - 1);
 
    //下个月毫秒时间戳
    var ds = now.setMonth(now.getMonth() + 1);
}

3、获取上一个月-第一种

/**
 * @date 格式为yyyy-mm-dd的日期
 * 没有对2月份做处理,查询2019-03-31 会返回2019-03-03
 *
 */
function getBeforeMonth(date) {
    var now = new Date(date);
    var ds = new Date(now.setMonth(now.getMonth() - 1));
    var year = ds.getFullYear();
    var mon = ds.getMonth() + 1;
    var day = ds.getDate();
    var s = year + "-" + (mon < 10 ? ('0' + mon) : mon) + "-" + (day < 10 ? ('0' + day) : day);
    return s;
}
 

4、 获取上一个月-第二种

/**
 * @date 格式为yyyy-mm-dd的日期,如:2019-01-25
 * 对日期做处理,获取2019-03-28,29,30,31,都会返回2019-02-28
 * 
 */
function getPreMonth(date) {
    var arr = date.split('-');
    var year = arr[0]; //获取当前日期的年份
    var month = arr[1]; //获取当前日期的月份
    var day = arr[2]; //获取当前日期的日
    var month2 = parseInt(month) - 1;
    if (month2 == 0) {
        year = parseInt(year) - 1;
        month2 = 12;
    }
    var days2 = new Date(year, month2, 0);
    days2 = days2.getDate();
    if (day > days2) {
        day = days2;
    }
    if (month2 < 10) {
        month2 = '0' + month2;
    }
    var t2 = year + '-' + month2 + '-' + day;
    return t2;
}
 
4.1、 获取下一个月
/**
 * @date 格式为yyyy-mm-dd的日期,如:2019-01-25
 * 
 */
function getNextMonth(date) {
    var arr = date.split('-');
    var year = arr[0]; //获取当前日期的年份
    var month = arr[1]; //获取当前日期的月份
    var day = arr[2]; //获取当前日期的日
    var month2 = parseInt(month) + 1;
    if (month2 == 13) {
        year = parseInt(year) + 1;
        month2 = 1;
    }
    var day2 = day;
    var days2 = new Date(year, month2, 0);
    days2 = days2.getDate();
    if (day2 > days2) {
        day2 = days2;
    }
    if (month2 < 10) {
        month2 = '0' + month2;
    }
    var t2 = year + '-' + month2 + '-' + day2;
    return t2;
}
4.2、获取当前月份天数
function mGetDate(){
     var date = new Date();
     var year = date.getFullYear();
     var month = date.getMonth()+1;
     var d = new Date(year, month, 0);
     return d.getDate();
}
4.3、获取指定月份的天数
/**
 * 获取指定月份的天数
 * @param math 20221001
 * @returns {number}
 */
function mGetDate(math){
    var date = new Date(math);
    var year = date.getFullYear();
    var month = date.getMonth()+1;
    var d = new Date(year, month, 0);
    return d.getDate();
}

5、 时间差计算

/**
 * 计算两个日期之间的天数
 * 必须是标准data的格式
 *  date1  开始日期 yyyy-MM-dd
 *  date2  结束日期 yyyy-MM-dd
 *  如果日期相同 返回一天 开始日期大于结束日期,返回0
 */
function  getDaysBetween(date1,date2){
    var  startDate = Date.parse(date1);
    var  endDate = Date.parse(date2);

    var days=(endDate - startDate)/(1*24*60*60*1000);
    return  days;
}

6、字符串时间操作

6.1、字符时间调整分钟
// 字符串日期
const dateString = $('#addform-0-offerStartTime').val()
// 将字符串日期转换为 Date 对象
const date = new Date(dateString);
// 添加分钟数
date.setMinutes(date.getMinutes() + 20);
// 格式化为字符串
const updatedDateString = date.toISOString().replace("T", " ").substring(0, 16);
// 输出更新后的日期字符串
console.log(updatedDateString);
6.2、日期转字符串
// js日期Date格式化为字符串
// 字符串格式:2020-10-13 12:00:01
function format(date, fmt) {
    var o = {
        "M+": date.getMonth() + 1, //月份
        "d+": date.getDate(), //日
        "h+": date.getHours(), //小时
        "m+": date.getMinutes(), //分
        "s+": date.getSeconds(), //秒
        "q+": Math.floor((date.getMonth() + 3) / 3), //季度
        "S": date.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
    }
    for (var k in o) {
        if (new RegExp("(" + k + ")").test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ?
                (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        }
    }
    return fmt;
}
// 版权声明:本文为CSDN博主「ztnhnr」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
// 原文链接:https://blog.csdn.net/ztnhnr/article/details/109575861

二、方法程序调整

2.1、延迟方式

     setTimeout(()=>{
                   function()
                     },1000)//1000毫秒

2.2、

参考文章

个人笔记,不同意见,望有交流
直接可以点击跳转连接

作者 sugar_coffee :js遍历对象的几种方法

作者:weixin_30536513

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Network porter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值