• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

js转换时间格式

武飞扬头像
泡壶好茶
帮助1

一、获取时间范围:

var startTime = getTimeStampToFormatedDateStr(new Date().getTime() - 48 * 60 * 60 * 1000); //时间戳

var endTime = getTimeStampToFormatedDateStr(new Date().getTime());

function add0(m) {

return m < 10 ? '0' m : m

}

export function getTimeStampToFormatedDateStr(timeStamp) {

var time = new Date(timeStamp);

var y = time.getFullYear();

var m = time.getMonth() 1;

var d = time.getDate();

var h = time.getHours();

var mm = time.getMinutes();

var s = time.getSeconds();

return y '-' add0(m) '-' add0(d) ' ' add0(h) ':' add0(mm) ':' add0(s); //获取年月日时分秒 2021-08-18 12:59:59 有具体的时分秒

// return y '-' add0(m) '-' add0(d) ' ' add0(h) ':' '00' ':' '00'; //获取年月日时 2021-08-18 12:00:00 分秒为0

// return y '-' add0(m) '-' add0(d); //获取年月日时 2021-08-18

}

二、获取7天,14天时间:

let st = getDay(0); //获取当天日期 如:2022-03-17

let st = getDay(7); //获取当天日期 如:2022-03-24 // 后7天的日期

let st1 = getDay(-7); //获取当天日期 如:2022-03-10 // 前7天的日期

function doHandleMonth(month){

var m = month;

if(month.toString().length == 1){

m = "0" month;

}

return m;

}

export function getDay(day){

var today = new Date();

var targetday_milliseconds=today.getTime() day*24*60*60*1000;

today.setTime(targetday_milliseconds); //注意,这行是关键代码

var tYear = today.getFullYear();

var tMonth = today.getMonth();

var tDate = today.getDate();

tMonth = doHandleMonth(tMonth 1);

tDate = doHandleMonth(tDate);

return tYear "-" tMonth "-" tDate;

}

三、获取时间范围内的所有日期时间:

调用方式:年月日-getDatesMap('2022-01-02', '2022-01-09', 0); 或 年月日时分秒-getDatesMap("2022-01-02 09:12:11", "2022-01-09 12:55:55", 0)

返回值Map集合:["2022-01-02","2022-01-03","2022-01-04","2022-01-05","2022-01-06","2022-01-07","2022-01-08","2022-01-09"]

// startDate: 计划开始时间; endDate:计划结束时间;dayLength:每隔几天,-1-代表当天日期,0-代表第二天,1-代表日期间隔一天

export function getDatesMap(startDate, endDate, dayLength) {

startDate = getTargetDate(startDate,-1) //只保留年月日 2022-01-02 09:12:11 转成 2022-01-02

endDate = getTargetDate(endDate,-1)

var dateMap = [];

dateMap.push(startDate);

for (var i = 0 ;; i ) {

var getDate = getTargetDate(startDate, dayLength);

startDate = getDate;

if (getDate

dateMap.push(getDate)

} else {

break;

}

}

return dateMap;

}

// startDate: 开始时间;dayLength:每隔几天,-1-代表当天日期,0-代表第二天,1-代表日期间隔一天

function getTargetDate(date,dayLength) { //如果传入带时分秒的时间,则会去掉时分秒

dayLength = dayLength 1;

var tempDate = new Date(date);

tempDate.setDate(tempDate.getDate() dayLength);

var year = tempDate.getFullYear();

var month = tempDate.getMonth() 1 < 10 ? "0" (tempDate.getMonth() 1) : tempDate.getMonth() 1;

var day = tempDate.getDate() < 10 ? "0" tempDate.getDate() : tempDate.getDate();

return year "-" month "-" day;

}

四、获取指定时间的时间戳。

格式一:time = "Wed Jun 10 2021 15:00:00 GMT 0800"

格式二:time = "2021/06/10 15:00:00"

格式三:time = "2021-06-10 15:00:00"

格式一、格式二:

直接使用:new Date( time ).getTime(); // 结果为:1623308400000

上面的等效方法:new Date( time ).valueOf() 和 new Date( time )

格式三:

格式三在Safari浏览器(移动端和PC端)上会出现错误结果:NaN。格式三要在所有浏览器出现正确结果,则需要进行转换:

new Date( time.replace(/-/g, '/') ).getTime(); // 结果为:1623308400000

测试正常的浏览器:Safari浏览器(移动端和PC端)、Chrome浏览器、QQ浏览器、小米浏览器、微信等等。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhghfkbh
系列文章
更多 icon
同类精品
更多 icon
继续加载