JS获取当天、最近某段时间起止时间戳

来源:网络 文章列表 2023-06-02 8
本来记录了常见的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()

 

腾讯云限量秒杀

1核2G 5M 50元/年 2核4G 8M 74元/年 4核8G 5M 818元/年 CDN流量包 100GB 9元

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论

友情链接