今天分享下用原生Javascript玩转时间的转换应用,基本都是基础应用,大家可以收藏下吧。
时间戳转换时间或获取日期工具类,废话不多说,干货走起!!!
{#_label0}
获取当前月的第一天 {#heading-0}
function getCurrentMonthFirst=()=>{
var date=new Date();
date.setDate(1);
return common.getdateNoTime(date);
}
获前取n天日期 {#heading-1}
function getBeforeDate=()=>{
var n = n;
var d = new Date();
var year = d.getFullYear();
var mon = d.getMonth() + 1;
var day = d.getDate();
if (day <= n) {
if (mon > 1) {
mon = mon - 1;
} else {
year = year - 1;
mon = 12;
}
}
d.setDate(d.getDate() - n);
year = d.getFullYear();
mon = d.getMonth() + 1;
day = d.getDate();
const s = year + '-' + (mon < 10 ? '0' + mon : mon) + '-' + (day < 10 ? '0' + day : day);
return s;
}
根据两个日期,判断相差天数 {#heading-2}
/**
* @zhiparam sDate1 开始日期 如:2021-11-01
* @param sDate2 结束日期 如:2021-11-02
* @returns {nDays} 返回相差天数
*/
function daysBetween = (sDate1, sDate2) => {
var time1 = Date.parse(new Date(sDate1));
var time2 = Date.parse(new Date(sDate2));
var nDays = Math.abs(parseInt((time2 - time1) / 1000 / 3600 / 24));
return nDays;
}
根据bai两个日期,判断相差月数 {#heading-3}
/**
* @zhiparam startDate 开始日期 如:2021-11-01
* @param endStart结束日期 如:2021-11-02
* @returns {intervalMonth} 返回相差月数
*/
function getIntervalMonth = (startDate, endStart) => {
var startMonth = new Date(startDate).getMonth();
var endMonth = new Date(endStart).getMonth();
var intervalMonth =
new Date(endStart).getFullYear() * 12 + endMonth - (new Date(startDate).getFullYear() * 12 + startMonth);
return intervalMonth;
}
获取几个月前的输入日期 {#heading-4}
/**
*{param:DateTime} date 输入日期(YYYY-MM-DD)
*{param:number } monthNum 月数
*/
function getIntervalMonth = (startDate, endStart) => {
var dateArr = date.split('-');
var year = dateArr[0]; //获取当前日期的年份
var month = dateArr[1]; //获取当前日期的月份
var day = dateArr[2]; //获取当前日期的日
var days = new Date(year, month, 0);
days = days.getDate(); //获取当前日期中月的天数
var year2 = year;
var month2 = parseInt(month) - monthNum;
if (month2 <= 0) {
var absM = Math.abs(month2);
year2 = parseInt(year2) - Math.ceil(absM / 12 == 0 ? 1 : parseInt(absM) / 12);
month2 = 12 - (absM % 12);
}
var day2 = day;
var days2 = new Date(year2, month2, 0);
days2 = days2.getDate();
if (day2 > days2) {
day2 = days2;
}
if (month2 < 10) {
month2 = '0' + month2;
}
var t2 = year2 + '-' + month2 + '-' + day2;
return t2;
}
时间戳转换时间 {#heading-5}
function getdate= (date) => {
var now = new Date(date),
y = now.getFullYear(),
m = now.getMonth() + 1,
d = now.getDate();
return y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d) + ' ' + now.toTimeString().substr(0, 8);
}
时间戳转换时间 - 无时分秒 {#heading-6}
function getdateNoTime= (date) => {
var now = new Date(date),
y = now.getFullYear(),
m = now.getMonth() + 1,
d = now.getDate();
return y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d);
}
时间戳转换时间-无日期 {#heading-7}
function getdateTime= (date) => {
var now = new Date(date),
y = now.getFullYear(),
m = now.getMonth() + 1,
d = now.getDate();
return now.toTimeString().substr(0, 8);
}
获取当前日期 {#heading-8}
function formatting= (time) => {
let date = new Date();
if (time !== undefined) {
date = new Date(time);
}
const seperator1 = '-';
const year = date.getFullYear();
let month = date.getMonth() + 1;
let strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = `0${month}`;
}
if (strDate >= 0 && strDate <= 9) {
strDate = `0${strDate}`;
}
const currentdate = year + seperator1 + month + seperator1 + strDate;
return currentdate;
}
OK,就这么多了,收藏吧!