1、补零公共方法
function add0 (m) {
return m < 10 ? '0' + m : m
}
2、获取当前年月日 传入当前时间戳
/**
* 获取当前年月日 传入当前时间戳
* @param shijianchuo 时间戳
* return {string} "2019-04-30"
*/
function format (shijianchuo) {
var time = new Date (shijianchuo);
var y = time.getFullYear ();
var m = time.getMonth () + 1;
var d = time.getDate ();
return y + '-' + add0 (m) + '-' + add0 (d);
}
3、获取当前年月日时分秒 格式:"2020-01-01 12:10:10"
/**
* 获取当前年月日时分秒
* return {string} "2019-04-30 11:45:57"
*/
function getNowFormatDate () {
let date = new Date ();
let seperator1 = "-";
let seperator2 = ":";
let month = date.getMonth () + 1 < 10 ? "0" + (date.getMonth () + 1) : date.getMonth () + 1;
let strDate = date.getDate () < 10 ? "0" + date.getDate () : date.getDate ();
let currentdate = date.getFullYear () + seperator1 + month + seperator1 + strDate
+ " " + date.getHours () + seperator2 + date.getMinutes ()
+ seperator2 + date.getSeconds ();
return currentdate;
}
4、秒转换成:天时分秒
const getDuration = (second: number) => {
var duration;
var days = Math.floor(second / 86400);
var hours = Math.floor((second % 86400) / 3600);
var minutes = Math.floor(((second % 86400) % 3600) / 60);
var seconds = Math.floor(((second % 86400) % 3600) % 60);
if (days > 0)
duration =
days + "天" + hours + "小时" + minutes + "分" + seconds + "秒";
else if (hours > 0)
duration = hours + "小时" + minutes + "分" + seconds + "秒";
else if (minutes > 0) duration = minutes + "分" + seconds + "秒";
else if (seconds > 0) duration = seconds + "秒";
return duration;
};
5、昨天 今天 明天
//昨天
const yestoday = format (new Date ().getTime () - 24 * 60 * 60 * 1000);
//今天
const today = format (new Date ());
//明天
const tomorrow = format (new Date ().getTime () + 24 * 60 * 60 * 1000);
//最终的格式 如:2017-09-21
6、获取前后三十天数据
/**
* 获取前后三十天数据
* @param n 前三十天传30 后三十天传-30
* @param value 值传 yestoday today tomorrow
*/
export const getBeforeOrAfterDate = function (n, value) {
var date = new Date (value);
var year, month, day;
date.setDate (date.getDate () + n);
year = date.getFullYear ();
month = date.getMonth () + 1;
day = date.getDate ();
var s = year + '-' + (month < 10 ? ('0' + month) : month) + '-' + (day < 10 ? ('0' + day) : day);
return [s, value];
};
调用方法:let time = getBeforeOrAfterDate (-30, yestoday);
7、获取今天日期
//获取今天日期
export function getCurrentDate () {
var date = new Date ();
var year, month, day;
date.setDate (date.getDate ());
year = date.getFullYear ();
month = date.getMonth () + 1;
day = date.getDate ();
return year + '.' + (month < 10 ? ('0' + month) : month) + '.' + (day < 10 ? ('0' + day) : day);
}
8、获取今天星期几
//获取今天星期几
export function getCurrentWeek () {
var day = getCurrentDate ();
var weekDay = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
var myDate = new Date (Date.parse (day));
var week = weekDay[myDate.getDay ()];
return week;
}
9、获取某个时间点+分钟之后的时间点
/**
* 时间点的秒级时间戳+时间(分钟)
* @param endTime (秒级时间戳)1660564800
* @param extendTime 时间(分钟)10
* @returns string 2022/8/15 20:10:00
*/
const getHourDate = (endTime, extendTime) => {
var date = new Date(Number(endTime) * 1000);
var min = date.getMinutes();
date.setMinutes(min+Number(extendTime)); //设置当前时间+extend分钟:把当前分钟数+extend后的值重新设置为date对象的分钟数
return date.toLocaleString();
}
const localeDate = getHourDate(1659315600, 10); // 在1659315600这个时间戳的基础上+10分钟 获得加完之后的时间戳
const endResultTime = new Date(localeDate).getTime(); // 最终时间 //date.getTime() / date.valueOf();-毫秒级时间戳 Date.parse(date);-秒级时间戳
10、通过两个时间戳的间距计算出相隔几天几小时几分钟
// stime和etime是毫秒级时间戳
const timestamp = (stime: number, etime: number) => {
var usedTime = etime - stime; // 两个时间戳相差的毫秒数
var days = Math.floor(usedTime / (24 * 3600 * 1000)); // 计算相差的天数
var leave1 = usedTime % (24 * 3600 * 1000); // 计算天数后剩余的毫秒数
var hours = Math.floor(leave1 / (3600 * 1000)); // 计算出小时数
var leave2 = leave1 % (3600 * 1000);// 计算小时数后剩余的毫秒数
var minutes = Math.floor(leave2 / (60 * 1000));// 计算相差分钟数
var time = days + "d" + hours + "h" + minutes + "m";
console.log("[time interval result]", time, [days, hours, minutes]);
return [days, hours, minutes];
}
JavaScript 获取当前时间戳 时间戳和日期格式的转换:JavaScript 格式转换 获取当前时间戳 时间戳和日期格式的转换_EncodingAESKey的博客-CSDN博客_当前日期时间戳