js中关于时间和日期的处理

1,常用处理日期的方法:

var myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表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)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间

2,js获取当前日期,并将其格式化为YYYY-MM-DD

(1),方法一:常见的代码进行处理

// 直接获取当前日期
 function getNowFormatDate() {
        var date = new Date();
        var seperator1 = "-";
        var year = date.getFullYear();
        var month = date.getMonth() + 1;
        var strDate = date.getDate();
        if (month >= 1 && month <= 9) {
            month = "0" + month;
        }
        if (strDate >= 0 && strDate <= 9) {
            strDate = "0" + strDate;
        }
        var currentdate = year + seperator1 + month + seperator1 + strDate;
        return currentdate;
    }
或者

// 根据时间戳获取当前日期
function transformationDate (date) {
  const Month = date.getMonth() + 1
  return `${date.getFullYear()}-${Month > 9 ? Month : `0${Month}`}-${date.getDate() > 9 ? date.getDate() : `0${date.getDate()}`}`
}
function getLocalTime(nS) {     
		var d = new Date(parseInt(nS)* 1000);    //根据时间戳生成的时间对象
		var date = (d.getFullYear()) + "-" + 
					(d.getMonth() + 1) + "-" +
					(d.getDate()) + " " + 
					(d.getHours()) + ":" + 
					(d.getMinutes()) + ":" + 
					(d.getSeconds()); 
		return date;   
}
document.write(getLocalTime(1642402680905));
console.log(transformationDate(new Date(1642402680905)))
// 结果: 2022-01-17

或者
// 获取当前时间并格式化"yyyy-MM-dd HH:mm:ss"
Date.prototype.Format = function (fmt) {
    var o = {
        "M+": this.getMonth() + 1, //月份 
        "d+": this.getDate(), //日 
        "H+": this.getHours(), //小时 
        "m+": this.getMinutes(), //分 
        "s+": this.getSeconds(), //秒 
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
        "S": this.getMilliseconds() //毫秒 
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.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;
}
console.log(new Date().Format("yyyy-MM-dd"))
// 结果:2022-01-17
console.log(new Date().Format("yyyy-MM-dd HH:mm:ss"))
// 结果:2022-01-17 14:55:10

方法二:使用插件moment.js 去处理

1,安装moment.js的库
npm install moment --save

  moment().format('YYYY-MM-DD')

3,对日期时间字符串转成时间戳


var date = '2015-03-05 17:59:00.0';
date = date.substring(0,19);    
date = date.replace(/-/g,'/'); 
var timestamp = new Date(date).getTime();
document.write(timestamp);

4,当前时间转时间戳

var timestamp = parseInt(new Date().getTime()/1000);    // 当前时间戳
document.write(timestamp);

5,根据时间戳获取对应的周几

getWeek (time) {
    var d = new Date(time).getDay()
    const weekDay = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
    return `${weekDay[d]}`
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值