js转换时间格式
一、获取时间范围:
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
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13