1 获取时间戳
1.获取系统当前时间的时间戳(单位:毫秒)
方法1:
var timestamp1= +new Date();
方法2:
var timestamp2 = new Date().valueOf();
方法3:
var timestamp3 = new Date().getTime();
2.获取特定时间的时间戳
var timestamp = new Date(‘2021-08-22 20:32:08’).getTime();
2 将时间戳转为特定格式的日期
如:YYYY-MM-DD HH:mm:ss
rule | result |
---|---|
YYYY:MM:DD | 2021年08月22日 |
YY年MM月DD日 H时m分s秒 | 21年08月22日 20时45分17秒或 21年08月22日 20时46分3秒 |
YYYY-MM-DD HH:mm:ss | 2021-08-22 20:46:03 |
即:
YYYY 2021,YY 21
MM 08 或12
M 8或12
其他与MM和M规则相同
实现代码:
var now = +new Date();
console.log(now); //得到当前时间戳
console.log('无规则-----' + moment(now));
console.log('YY年MM月DD日 H时m分s秒-----' + moment(now, 'YY年MM月DD日 H时m分s秒'));
console.log('YYYY-MM-DD HH:mm:ss-----' + moment(now, 'YYYY-MM-DD HH:mm:ss'));
function add0(n) { return n < 10 ? '0' + n : n }
function moment(timestamp, rule) {
var time = new Date(timestamp);//将时间戳转为日期
var y = time.getFullYear().toString();
var mth = time.getMonth() + 1;
var d = time.getDate();
var h = time.getHours(); //获取时
var m = time.getMinutes(); //获取分
var s = time.getSeconds(); //获取秒
let result = '';
if (typeof(rule) === 'undefined') { //未传入规则时的规则:YYYY:MM:DD
let M = mth;
M = add0(M)
let D = d
D = add0(D)
result = y + "年" + M + "月" + D + "日"
} else { //传入规则
//规则1:YY年MM月DD日 H时m分s秒
//规则2:YYYY-MM-DD HH:mm:ss
result = rule;
if (!/Y{4}/.test(rule)) {
result = result.replace(/Y{2}/, y.slice(2, 4))
} else {
result = result.replace(/Y{4}/, y)
}
if (!/M{2}/.test(rule)) { //1个M
result = result.replace(/M/, mth)
} else { //2个M
result = result.replace(/M{2}/, add0(mth))
}
if (!/D{2}/.test(rule)) { //1个D
result = result.replace(/D/, d)
} else { //2个D
result = result.replace(/D{2}/, add0(d))
}
if (!/H{2}/.test(rule)) {
result = result.replace(/H/, h)
} else {
result = result.replace(/H{2}/, add0(h))
}
if (!/m{2}/.test(rule)) {
result = result.replace(/m/, m)
} else {
result = result.replace(/m{2}/, add0(m))
}
if (!/s{2}/.test(rule)) { //一个s
result = result.replace(/s/, s)
} else {
result = result.replace(/s{2}/, add0(s))
}
}
return result
}
小结:
str.replace(reg,s)的使用:
var str = “Visit Microsoft!”
console.log(str.replace(/Microsoft/, “W3School”));
//Visit W3School!