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]})`
}