JS获取当天、最近某段时间起止时间戳
本来记录了常见的JS时间操作
获取任意一天0点和24点时间戳
function getTimeStamp(dayNum: number, isStart: boolean = true) {
if (isStart) return new Date(new Date().setDate(new Date().getDate() - (dayNum - 1))).setHours(0,0,0,0);
return new Date(new Date().setDate(new Date().getDate() - (dayNum - 1))).setHours(23, 59, 59, 999);
}
前端常见的日期的几种格式
const time = new Date();
console.log(time); // Thu Jan 13 2022 10:15:19 GMT+0800 (中国标准时间)
console.log(time.toDateString()); // Thu Jan 13 2022
console.log(time.toTimeString()); // 10:15:19 GMT+0800 (中国标准时间)
console.log(time.toJSON()); // 2022-01-13T02:15:19.648Z
console.log(time.toISOString()); // 2022-01-13T02:15:19.648Z
console.log(time.toLocaleDateString()); // 2022/1/13
console.log(time.toLocaleString()); // 2022/1/13 上午10:15:19
console.log(time.toLocaleTimeString()); // 上午10:15:19
console.log(time.toString()); // Thu Jan 13 2022 10:15:19 GMT+0800 (中国标准时间)
console.log(time.getTime()); // 1642040119648
console.log(time.valueOf()); // 1642040119648
// 使用Date.UTC方法创建日期对象
// 参数: f(year, month, ?date, ?hours, ?monutes, ?seconds, ?ms)
// 返回 1970 年 1 月 1 日 到指定日期的毫秒数
const time2 = Date.UTC(2019,12,18);
获取当天、最近七天、最近一月、最近 一季度起止时间戳
const nowTime = new Date();
const todayStart = new Date(nowTime.toDateString()).getTime();
const todayEnd = new Date(nowTime.toDateString()).getTime() + 3600 * 1000 * 24 - 1;
const lastWeek = nowTime.getTime() - 3600 * 1000 * 24 * 7;
const lastMonth = nowTime.getTime() - 3600 * 1000 * 24 * 30;
const lastThreeMonth = nowTime.getTime() - 3600 * 1000 * 24 * 90;
计算两个时间点的间隔
var str = '2018-07-01T00:00:00.000Z'
var d1 = new Date(str) // 时间点1,字符串转为日期对象
var d2 = new Date() // 时间点2
var a = d2.getTime() - d1.getTime()
// 一般会用到定时器刷新时间(在合适地方进行定时刷新)
var timer = setInterval(function(){
console.log(new Date())
},2000)
// 清除定时器
clearInterval(timer)
前端获取当前年份、月份等等
const d = new Date();
console.log(d.getFullYear()) // 2022
console.log(d.getMonth()) // 0 (0-11、0是一月)
console.log(d.getDate()) // 13 (1-31)
console.log(d.getDay()) // 4 (0-6、0是周日)
console.log(d.getHours()) // 10
console.log(d.getMinutes()) // 40
console.log(d.getSeconds()) // 53
console.log(d.getMilliseconds()) // 900 (0-999)
console.log(d.getTimezoneOffset()) // -480(本地时间与格林威治标准时间 (GMT) 的分钟差)
console.log(d.getUTCFullYear()) // 2022
console.log(d.getUTCMonth()) // 0 (0-11、0是一月)
console.log(d.getUTCDate()) // 13 (1-31)
console.log(d.getUTCDay()) // 4 (0-6、0是周日)
console.log(d.getUTCHours()) // 2
console.log(d.getUTCMinutes()) // 49
console.log(d.getUTCSeconds()) // 56
console.log(d.getUTCMilliseconds()) // 556 (0-999)
修改时间
const d = new Date();
d.setFullYear(2050)
d.setMonth(0) // (0-11)
d.setDate(13) // d.setDate(60) // 超过30天月份会自动折算
d.setHours(10)
d.setMinutes(50)
d.setSeconds(50) // (0-59)
d.setMilliseconds(800) // (0-999)
d.setTime(1649286122272) // 毫秒时间戳
// 格林威治不再赘述 d.setUTCxxx()
版权声明
本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。
评论